当前位置: X-MOL 学术J. Parallel Distrib. Comput. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Practical parallelization of scientific applications with OpenMP, OpenACC and MPI
Journal of Parallel and Distributed Computing ( IF 3.4 ) Pub Date : 2021-06-12 , DOI: 10.1016/j.jpdc.2021.05.017
Marco Aldinucci , Valentina Cesare , Iacopo Colonnelli , Alberto Riccardo Martinelli , Gianluca Mittone , Barbara Cantalupo , Carlo Cavazzoni , Maurizio Drocco

This work aims at distilling a systematic methodology to modernize existing sequential scientific codes with a little re-designing effort, turning an old codebase into modern code, i.e., parallel and robust code. We propose a semi-automatic methodology to parallelize scientific applications designed with a purely sequential programming mindset, possibly using global variables, aliasing, random number generators, and stateful functions. We demonstrate that the same methodology works for the parallelization in the shared memory model (via OpenMP), message passing model (via MPI), and General Purpose Computing on GPU model (via OpenACC). The method is demonstrated parallelizing four real-world sequential codes in the domain of physics and material science. The methodology itself has been distilled in collaboration with MSc students of the Parallel Computing course at the University of Torino, that applied it for the first time to the project works that they presented for the final exam of the course. Every year the course hosts some special lectures from industry representatives, who present how they use parallel computing and offer codes to be parallelized.



中文翻译:

使用 OpenMP、OpenACC 和 MPI 实现科学应用的实际并行化

这项工作旨在提炼出一种系统的方法论,通过一些重新设计的努力使现有的顺序科学代码现代化,将旧的代码库变成现代的代码,即并行且健壮的代码。我们提出了一种半自动方法来并行化以纯顺序编程思维设计的科学应用程序,可能使用全局变量、别名、随机数生成器和有状态函数。我们证明了相同的方法适用于共享内存模型(通过 OpenMP)、消息传递模型(通过 MPI)和 GPU 模型上的通用计算(通过 OpenACC)中的并行化。该方法演示了在物理和材料科学领域并行化四个真实世界的顺序代码。该方法本身是与都灵大学并行计算课程的理学硕士学生合作提炼出来的,首次将其应用于他们为课程期末考试提交的项目作品。

更新日期:2021-06-23
down
wechat
bug