(RP11) Task-Parallel Domain-wise Multifrontal Solver for High-Performance Finite Element Analysis on Multi-core Systems
Scientific Software Development
TimeTuesday, June 26th8:30am - 10am
DescriptionThe domain-wise multifrontal solver (DMFS) is a high-performance sparse direct solver especially designed for efficient finite element analysis and it has many successful applications to commercial and research finite element analysis codes. However, the DMFS has limited scalability due to simple static scheduling based on the elimination tree constructed by nested dissection for matrix ordering. In this research, the task-parallel DMFS for high-performance finite element analysis on multi-core systems is developed by using Thread Building Block (TBB) to implement task parallelism for efficient dynamic scheduling. Task parallelism in DMFS is realized just by spawning tasks with consideration for the size and dependency of each task. Front nodes within appropriate number of levels in the elimination tree are spawned as tasks. Partial factorization for each spawned front node also spawns tasks for computations for blocked matrices. All spawned tasks are dynamically scheduled by TBB scheduler. By implementing task parallelism, the parallel performance of the DMFS is improved significantly compared with the original DMFS based on static scheduling. To evaluate the overall performance of finite element analysis using the DMFS, several finite element models for structural analysis with more than millions of degrees of freedom are analyzed and computing times are compared with state-of-the-art finite element analysis codes and sparse solvers. According to the performance comparison results, the performance of the task-parallel DMFS is much superior to state-of-the-art finite element analysis codes and sparse solvers.