版权所有:内蒙古大学图书馆 技术提供:维普资讯• 智图
内蒙古自治区呼和浩特市赛罕区大学西街235号 邮编: 010021
作者机构:Univ Stuttgart Inst Parallel & Distributed Syst IPVS D-70569 Stuttgart Germany Tech Univ Munich TUM Sci Comp Comp Sci D-85748 Garching Germany
出 版 物:《ALGORITHMS》 (算法)
年 卷 期:2021年第14卷第6期
页 面:166-166页
核心收录:
学科分类:0301[法学-法学] 03[法学] 0812[工学-计算机科学与技术(可授工学、理学学位)]
基 金:Deutsche Forschungsgemeinschaft (DFG, German Research Foundation) under Germany's Excellence Strategy [EXC 2075-390740016, 391150578] International Graduate Research Group on "Soft Tissue Robotics" [GRK 2198/1, 1648] European Union Competence Network for Scientific High Performance Computing in Bavaria (KONWIHR)
主 题:parallel programming high performance computing multi-physics simulation
摘 要:preCICE is an open-source library, that provides comprehensive functionality to couple independent parallelized solver codes to establish a partitioned multi-physics multi-code simulation environment. For data communication between the respective executables at runtime, it implements a peer-to-peer concept, which renders the computational cost of the coupling per time step negligible compared to the typical run time of the coupled codes. To initialize the peer-to-peer coupling, the mesh partitions of the respective solvers need to be compared to determine the point-to-point communication channels between the processes of both codes. This initialization effort can become a limiting factor, if we either reach memory limits or if we have to re-initialize communication relations in every time step. In this contribution, we remove two remaining bottlenecks: (i) We base the neighborhood search between mesh entities of two solvers on a tree data structure to avoid quadratic complexity, and (ii) we replace the sequential gather-scatter comparison of both mesh partitions by a two-level approach that first compares bounding boxes around mesh partitions in a sequential manner, subsequently establishes pairwise communication between processes of the two solvers, and finally compares mesh partitions between connected processes in parallel. We show, that the two-level initialization method is fives times faster than the old one-level scheme on 24,567 CPU-cores using a mesh with 628,898 vertices. In addition, the two-level scheme is able to handle much larger computational meshes, since the central mesh communication of the one-level scheme is replaced with a fully point-to-point mesh communication scheme.