An Evaluation of Task-Parallel Frameworks for Sparse Solvers on Multicore and Manycore CPU Architectures

An Evaluation of Task-Parallel Frameworks for Sparse Solvers on Multicore and Manycore CPU Architectures
复制标题

多核和众核 CPU 架构上稀疏求解器任务并行框架的评估

DOI:
10.1145/3472456.3472476
复制
发表时间:
2021
期刊:
ICPP 2021: 50th International Conference on Parallel Processing
影响因子:
--
通讯作者:
Aktulga, Hasan Metin
Aktulga, Hasan Metin
中科院分区:
--
文献类型:
--
作者:
Alperen, Abdullah;Afibuzzaman, Md;Rabbi, Fazlay;Ozkaya, M. Yusuf;Catalyurek, Umit;Aktulga, Hasan Metin

文献摘要

参考文献

被引文献

相似文献

最近,出现了几种任务并行编程模型来解决现代共享内存架构中的高同步和负载不平衡问题以及数据移动开销。OpenMP是最常用的共享内存并行编程模型,它增加了对低依赖性任务执行的支持。HPX和Regent是两个较新的运行时系统,它们也支持并行执行模型,并将其扩展到分布式内存环境。我们专注于稀疏矩阵计算的并行化共享内存架构。我们评估的OpenMP,HPX和摄政的运行时系统的性能和易于实施,并将它们与传统的BSP模型的两个流行的特征值求解器,Lanczos和LOBPCG。我们给出了一个大致的轮廓,实现使用这些运行时系统的并行性,并提出了一个启发式的调整其性能,以平衡任务开销的并行度,可以暴露。然后,我们展示了两个架构,英特尔Broadwell(多核处理器)和AMD EPYC(现代众核处理器)的优点。我们观察到,这些框架在L1,L2和L3缓存层上实现的高效BSP实现的缓存未命中率高达13.7倍。与相同的BSP实现相比,它们的执行时间提高了9.9倍。
Recently, several task-parallel programming models have emerged to address the high synchronization and load imbalance issues as well as data movement overheads in modern shared memory architectures. OpenMP, the most commonly used shared memory parallel programming model, has added task execution support with dataflow dependencies. HPX and Regent are two more recent runtime systems that also support the dataflow execution model and extend it to distributed memory environments. We focus on parallelization of sparse matrix computations on shared memory architectures. We evaluate the OpenMP, HPX and Regent runtime systems in terms of performance and ease of implementation, and compare them against the traditional BSP model for two popular eigensolvers, Lanczos and LOBPCG. We give a general outline in regards to achieving parallelism using these runtime systems, and present a heuristic for tuning their performance to balance tasking overheads with the degree of parallelism that can be exposed. We then demonstrate their merits on two architectures, Intel Broadwell (a multicore processor) and AMD EPYC (a modern manycore processor). We observe that these frameworks achieve up to 13.7 × fewer cache misses over an efficient BSP implementation across L1, L2 and L3 cache layers. They also obtain up to 9.9 × improvement in execution time over the same BSP implementation.
HPX – 用于并行性和并发性的开源 C++ 标准库
DOI: 10.48550/arxiv.2401.03353
发表时间: 2023
期刊: ArXiv
影响因子: --
作者:
T. Heller;Patrick Diehl;Zachary D. Byerly;J. Biddiscombe;Hartmut Kaiser
通讯作者: Hartmut Kaiser
Qthreads:用于使用数百万个轻量级线程进行编程的 API
DOI: 10.1109/ipdps.2008.4536359
发表时间: 2008
期刊: 2008 IEEE International Symposium on Parallel and Distributed Processing
影响因子: --
作者:
Kyle B. Wheeler;R. Murphy;D. Thain
通讯作者: D. Thain
采用符号 DAG 方法的分布式异构硬件上的密集线性代数
DOI: --
发表时间: 2012
期刊:
影响因子: --
作者:
G. Bosilca
通讯作者: G. Bosilca
任务模型的并行运行时系统的选择
DOI: --
发表时间: 2017
期刊: 2017 International Conference on Computational Science and Computational Intelligence (CSCI)
影响因子: --
作者:
Chun
通讯作者: Chun
图、矩阵和 GraphBLAS:七个好理由
DOI: --
发表时间: 2015
期刊: International Conference on Conceptual Structures
影响因子: --
作者:
J. Kepner;David A. Bader;A. Buluç;J. Gilbert;T. Mattson;Henning Meyerhenke
通讯作者: Henning Meyerhenke