遇见数据集

Hybrid OpenMP/MPI programs for solving the time-dependent Gross-Pitaevskii equation in a fully anisotropic trap

收藏
Mendeley Data2024-06-25 更新2024-06-26 收录
官方服务:

资源简介:

We present hybrid OpenMP/MPI (Open Multi-Processing/Message Passing Interface) parallelized versions of earlier published C programs (D. Vudragovi\'{c} et al. (2012) [1]) for calculating both stationary and non-stationary solutions of the time-dependent Gross-Pitaevskii (GP) equation in three spatial dimensions. The GP equation describes the properties of dilute Bose-Einstein condensates at ultra-cold temperatures. Hybrid versions of programs use the same algorithms as the C ones, involving real- and imaginary-time propagation based on a split-step Crank-Nicolson method, but consider only a fully-anisotropic three-dimensional GP equation, where algorithmic complexity for large grid sizes necessitates parallelization in order to reduce execution time and/or memory requirements per node. Since distributed memory approach is required to address the latter, we combine MPI programing paradigm with existing OpenMP codes, thus creating fully flexible parallelism within a combined distributed/shared memory model, suitable for different modern computer architectures. The two presented C/OpenMP/MPI programs for real- and imaginary-time propagation are optimized and accompanied by a customizable makefile. We present typical scalability results for the provided OpenMP/MPI codes and demonstrate almost linear speedup until inter-process communication time starts to dominate over calculation time per iteration. Such a scalability study is necessary for large grid sizes in order to determine optimal number of MPI nodes and OpenMP threads per node. Previous versions of this program (AEDU_v1_0 and AEDU_v2_0) may be found at dx.doi.org/10.1016/j.cpc.2009.04.015 and dx.doi.org/10.1016/j.cpc.2012.03.022 respectively. The original version of this dataset (http://dx.doi.org/10.17632/hrk84bznv2.1) contains a typo in one source file, which has been corrected in the present version.

我们提出了基于既往发表C程序的混合式OpenMP/MPI(Open Multi-Processing/消息传递接口)并行化版本,该程序源自D. Vudragović等人2012年发表的文献[1],用于求解三维含时格罗斯-皮塔耶夫斯基(Gross-Pitaevskii, GP)方程的定态与非定态解。GP方程用于描述超低温环境下稀薄玻色-爱因斯坦凝聚态的物理特性。本混合程序与原C程序采用完全一致的算法,即基于分步克兰克-尼科尔森方法的实时间与虚时间传播算法,但仅针对完全各向异性三维GP方程展开求解。针对大网格规模的计算场景,该方程的算法复杂度极高,因此需要通过并行计算来缩短运行时长、降低单节点内存占用需求。由于需要采用分布式内存方案解决内存瓶颈问题,我们将MPI编程范式与现有OpenMP代码相结合,在分布式与共享内存混合模型中构建了高度灵活的并行结构,可适配各类现代计算机架构。本次提出的两款分别用于实时间与虚时间传播的C/OpenMP/MPI程序均经过优化,并附带可自定义配置的Makefile构建脚本。我们给出了所提供OpenMP/MPI代码的典型可扩展性测试结果,证明在单迭代步内进程间通信开销尚未超过计算开销前,程序可实现近似线性的加速比。针对大网格规模的计算场景,此类可扩展性分析可用于确定最优的MPI节点数与单节点OpenMP线程数,因此具备重要实用价值。该程序的早期版本(AEDU_v1_0与AEDU_v2_0)可分别通过链接dx.doi.org/10.1016/j.cpc.2009.04.015与dx.doi.org/10.1016/j.cpc.2012.03.022获取。本数据集的原始版本(http://dx.doi.org/10.17632/hrk84bznv2.1)存在一处源代码文件的排版错误,本次发布的版本已完成修正。

创建时间:
2024-01-23
二维码
社区交流群
二维码
科研交流群
商业服务