首页> 外文期刊>Journal of computational science >Accelerating linear solvers for Stokes problems with C++ metaprogramming
【24h】

Accelerating linear solvers for Stokes problems with C++ metaprogramming

机译:加速用于C ++ Metaprogramming的Stokes问题的线性求解器

获取原文
获取原文并翻译 | 示例
           

摘要

The efficient solution of large sparse saddle point systems is very important in computational fluid mechanics. The discontinuous Galerkin finite element methods have become increasingly popular for incompressible flow problems but their application is limited due to high computational cost. We describe C++ programming techniques that may help to accelerate linear solvers for such problems. The approach is based on the policy based design pattern and partial template specialization, and is implemented in the open source AMGCL library. The efficiency is demonstrated with the example of accelerating an iterative solver of a discontinuous Galerkin finite element method for the Stokes problem. The implementation allows selecting algorithmic components of the solver by adjusting template parameters without any changes to the codebase. It is possible to switch the system matrix to use small statically sized blocks to store the nonzero values, or use a mixed precision solution, which results in up to 4 times speedup, and reduces the memory footprint of the algorithm by about 40%. We evaluate both monolithic and composite preconditioning strategies for 3 benchmark problems. The performance of the proposed solution is compared with a multithreaded direct Pardiso solver and a parallel iterative PETSc solver.
机译:大稀疏鞍点系统的有效解决方案在计算流体力学中非常重要。不连续的Galerkin有限元方法对于不可压缩的流动问题越来越受欢迎,但由于高计算成本,它们的应用受到限制。我们描述了C ++编程技术,可能有助于加速线性求解器进行此类问题。该方法基于基于策略的设计模式和部分模板专业化,并在开源AMGCL库中实现。利用加速斯托克斯问题的不连续的Galerkin有限元方法的迭代求解器的示例来证明效率。该实现允许通过调整模板参数而没有任何更改的代码库来选择求解器的算法组件。可以切换系统矩阵以使用小静态大小的块来存储非零值,或者使用混合精度解决方案,从而导致高速增速,并将算法的存储空间降低约40%。我们评估单片和复合预处理策略,用于3个基准问题。将所提出的解决方案的性能与多线程直接Pardiso求解器和平行迭代PETSC求解器进行比较。

著录项

获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号