libParanumal:高性能有限元流体求解器

libParanumal:高性能有限元流体求解器

项目介绍

libParanumal 是一个实验性的有限元流体求解器集合,专为异构(GPU/CPU)系统设计。该项目由弗吉尼亚理工学院的并行数值算法小组(Parallel Numerical Algorithms Group at Virginia Tech)发起,并得到了美国能源部资助的高效扩展离散化中心的支持。libParanumal 的名字来源于其高阶有限元实现的高度精确性和依赖于 MPI 通信的“ghost”元素。

项目技术分析

libParanumal 的核心技术包括:

  • 支持的元素类型:三角形、四边形、四面体、六面体,以及拉格朗日基函数。
  • 网格处理:支持 Gmsh 格式文件加载、负载均衡的惯性分区、多级谱分区、Cuthill-McKee 局部排序。
  • 时间积分器:包括自适应速率的 Dormand-Prince 5 阶 Runge-Kutta、低存储显式 Runge-Kutta 4 阶、单/多速率 Adams-Bashforth 3 阶、外推的向后差分 3 阶。
  • 迭代线性求解器:预处理(灵活)共轭梯度法、非阻塞预处理(灵活)共轭梯度法、预处理(广义)最小残差法、改进的初始猜测技术(历史投影/外推)。
  • 椭圆求解器:线性泊松和屏蔽泊松势求解器、GPU 优化的矩阵-向量乘积、p 型多重网格、代数多重网格(平滑和非平滑聚合)、低阶 SEMFEM、重叠加性 Schwarz 和 Jacobi 预处理、无矩阵 p 多重网格。
  • 异构加速流体求解器:包括可压缩 Navier-Stokes 求解器、Galerkin-Boltzmann 气体动力学求解器、不可压缩 Navier-Stokes 求解器。
  • 可移植性:集成了 Open Concurrent Compute Abstraction (OCCA),支持 OpenMP、CUDA、OpenCL、HIP 和 SYCL 等多种执行模型,并可在运行时选择。

项目及技术应用场景

libParanumal 适用于以下场景:

  • 高性能计算:适用于需要大规模并行计算的流体动力学问题,如气象模拟、航空航天工程、海洋学等。
  • 异构计算:支持 GPU 和 CPU 的混合计算,适用于现代高性能计算集群。
  • 科学研究:为研究人员提供了一个强大的工具,用于开发和测试新的数值方法和算法。

项目特点

  • 高性能:libParanumal 通过高度优化的算法和异构计算支持,实现了卓越的计算性能。
  • 可扩展性:支持多种网格类型和时间积分方法,适用于不同规模和复杂度的流体问题。
  • 可移植性:通过 OCCA 抽象层,支持多种执行模型,确保在不同硬件平台上的兼容性。
  • 社区驱动:libParanumal 是一个开源项目,鼓励社区贡献和反馈,不断改进和扩展功能。

如何参与

libParanumal 是一个社区驱动的项目,欢迎开发者通过提交 IssuePull Request 来帮助改进项目。无论是发现问题、提出新功能,还是贡献代码,都能为项目的进步做出贡献。

引用

如果您在研究中使用了 libParanumal,请引用以下文献:

@MISC{ChalmersKarakusAustinSwirydowiczWarburton2020,
      author = "Chalmers, N. and Karakus, A. and Austin, A. P. and Swirydowicz, K. and Warburton, T.",
      title = "{libParanumal}: a performance portable high-order finite element library",
      year = "2022",
      url = "https://github.com/paranumal/libparanumal",
      doi = "10.5281/zenodo.4004744",
      note = "Release 0.5.0"}

许可证

libParanumal 采用 MIT 许可证,允许自由使用、修改和分发。


libParanumal 是一个功能强大且灵活的有限元流体求解器,适用于各种高性能计算和科学研究场景。无论您是研究人员、开发者还是高性能计算爱好者,libParanumal 都将是您不可或缺的工具。立即访问 GitHub 项目页面,开始您的探索之旅吧!

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值