论文标题

支持HPXMP中的OpenMP 5.0任务 - 对基于任务的运行时系统中的OpenMP实现的研究

Supporting OpenMP 5.0 Tasks in hpxMP -- A study of an OpenMP implementation within Task Based Runtime Systems

论文作者

Zhang, Tianyi, Shirzad, Shahrzad, Wagle, Bibek, Lemoine, Adrian S., Diehl, Patrick, Kaiser, Hartmut

论文摘要

十多年来,OpenMP一直是单节点并行性的事实上的标准。最近,作为高性能计算应用程序的新编程范例,异步多任务运行时(AMT)系统的受欢迎程度增加了。这种新范式的主要挑战之一是OpenMP线程模型和其他AMT的不兼容。与AMT相结合时,高度优化的基于OpenMP的库表现不佳,因为两个库的线程都将争夺资源。本文是有关HPXMP基本实现的后续文件,该文件是OpenMP标准的实现,该标准使用C ++标准库进行并行和并发(HPX)来安排和管理任务。在本文中,我们介绍了任务功能的实施,例如OpenMP 5.0标准的任务组,任务依赖和任务_REDUCTION和PRAGMA #PRAGMA OMP的优化。我们使用Daxpy基准,巴塞罗那OpenMP任务套件,并行研究内核和OpenBlas基准测试来比较不同的OpenMP实现:HPXMP,LLVM-OPENMP和GOMP。

OpenMP has been the de facto standard for single node parallelism for more than a decade. Recently, asynchronous many-task runtime (AMT) systems have increased in popularity as a new programming paradigm for high performance computing applications. One of the major challenges of this new paradigm is the incompatibility of the OpenMP thread model and other AMTs. Highly optimized OpenMP-based libraries do not perform well when coupled with AMTs because the threading of both libraries will compete for resources. This paper is a follow-up paper on the fundamental implementation of hpxMP, an implementation of the OpenMP standard which utilizes the C++ standard library for Parallelism and Concurrency (HPX) to schedule and manage tasks. In this paper, we present the implementation of task features, e.g. taskgroup, task depend, and task_reduction, of the OpenMP 5.0 standard and optimization of the #pragma omp parallel for pragma. We use the daxpy benchmark, the Barcelona OpenMP Tasks Suite, Parallel research kernels, and OpenBLAS benchmarks to compare the different OpenMp implementations: hpxMP, llvm-OpenMP, and GOMP.

扫码加入交流群

加入微信交流群

微信交流群二维码

扫码加入学术交流群,获取更多资源