An Introduction to hpxMP: A Modern OpenMP Implementation Leveraging HPX, An Asynchronous Many-Task System

An Introduction to hpxMP: A Modern OpenMP Implementation Leveraging HPX, An Asynchronous Many-Task System
复制标题

hpxMP 简介:利用异步多任务系统 HPX 的现代 OpenMP 实现

DOI:
10.1145/3318170.3318191
复制
发表时间:
2019
期刊:
IWOCL'19 Proceedings of the International Workshop on OpenCL
影响因子:
--
通讯作者:
Kaiser, Hartmut
Kaiser, Hartmut
中科院分区:
--
文献类型:
--
作者:
Zhang, Tianyi;Shirzad, Shahrzad;Diehl, Patrick;Tohid, R.;Wei, Weile;Kaiser, Hartmut

文献摘要

参考文献

被引文献

相似文献

异步多任务(AMT)运行时系统由于细粒度任务运行时系统提供的性能改进而在HPC社区中获得越来越多的接受。与此同时,C++标准化工作的重点是创建更高级别的接口,以取代现代C++代码中的OpenMP或OpenACC。这些更高级别的函数已经在符合标准的运行时系统(如HPX)中采用,使用户能够在自己的代码中简单地利用fork-join并行性。尽管在运行时系统和标准化工作方面有创新,但用户在移植遗留应用程序时仍面临巨大挑战。用户不仅必须移植自己的代码,而且通常依赖于高度优化的库,如BLAS和LAPACK,它们使用OpenMP进行并行化。当前创建平滑迁移路径的努力一直在努力应对这些挑战,特别是AMT库的线程系统经常与OpenMP的线程系统竞争。为了克服这些问题,我们的团队开发了hpxMP,这是一种OpenMP标准的实现,它利用底层AMT系统来调度和管理任务。这种方法利用HPX暴露的C++接口,并允许用户在AMT系统上执行他们的应用程序,而无需更改他们的Code.In这项工作中,我们比较hpxMP与Clang的OpenMP库与Blaze C++库的四个线性代数基准。虽然hpxMP通常无法达到相同的性能,但我们证明了为应用程序提供平滑迁移的可行性,但必须进行扩展才能从更通用的基于任务的编程模型中受益。
Asynchronous Many-task (AMT) runtime systems have gained increasing acceptance in the HPC community due to the performance improvements offered by fine-grained tasking runtime systems. At the same time, C++ standardization efforts are focused on creating higher-level interfaces able to replace OpenMP or OpenACC in modern C++ codes. These higher level functions have been adopted in standards conforming runtime systems such as HPX, giving users the ability to simply utilize fork-join parallelism in their own codes. Despite innovations in runtime systems and standardization efforts users face enormous challenges porting legacy applications. Not only must users port their own codes, but often users rely on highly optimized libraries such as BLAS and LAPACK which use OpenMP for parallization. Current efforts to create smooth migration paths have struggled with these challenges, especially as the threading systems of AMT libraries often compete with the treading system of OpenMP.To overcome these issues, our team has developed hpxMP, an implementation of the OpenMP standard, which utilizes the underlying AMT system to schedule and manage tasks. This approach leverages the C++ interfaces exposed by HPX and allows users to execute their applications on an AMT system without changing their code.In this work, we compare hpxMP with Clang's OpenMP library with four linear algebra benchmarks of the Blaze C++ library. While hpxMP is often not able to reach the same performance, we demonstrate viability for providing a smooth migration for applications but have to be extended to benefit from a more general task based programming model.
重新设计 OP2 编译器以使用 HPX 运行时异步技术
DOI: 10.1109/ipdpsw.2017.14
发表时间: 2017
期刊: 2017 IEEE International Parallel and Distributed Processing Symposium Workshops (IPDPSW)
影响因子: --
作者:
Zahra Khatami;Hartmut Kaiser;J. Ramanujam
通讯作者: J. Ramanujam
MPI X 向百亿亿次演进
DOI: 10.1109/mc.2016.232
发表时间: 2016
期刊: Computer
影响因子: 2.2
作者:
David A. Bader
通讯作者: David A. Bader
HPX – 用于并行性和并发性的开源 C++ 标准库
DOI: 10.48550/arxiv.2401.03353
发表时间: 2023
期刊: ArXiv
影响因子: --
作者:
T. Heller;Patrick Diehl;Zachary D. Byerly;J. Biddiscombe;Hartmut Kaiser
通讯作者: Hartmut Kaiser
基于任务的运行时系统中自适应主动消息合并的方法
DOI: 10.1109/ipdpsw.2018.00173
发表时间: 2018
期刊: 2018 IEEE International Parallel and Distributed Processing Symposium Workshops (IPDPSW
影响因子: --
作者:
Wagle, Bibek;Kellar, Samuel;Serio, Adrian;Kaiser, Hartmut
通讯作者: Kaiser, Hartmut
使用 HPX 实现的大规模并行分布式 N 体应用程序
DOI: 10.1109/scala.2016.012
发表时间: 2016
期刊: 7th Workshop on Latest Advances in Scalable Algorithms for Large-Scale Systems (ScalA16
影响因子: --
作者:
Khatami, Zahra;Kaiser, Hartmut;Grubel, Patricia;Serio, Adrian;Ramanujam, J.
通讯作者: Ramanujam, J.