中文

将并行程序移植到异步任务的经验:多维 FFT 案例研究

分布式、并行与集群计算 2024-06-04 v2 天体物理仪器与方法

摘要

依赖同步并行库的并行算法常常因全局同步屏障而遭受性能损失。异步多任务运行时提供了任务未来化(task futurization)能力,可最小化或消除对全局同步屏障的需求。本文以多维快速傅里叶变换(FFT)为案例研究,以确定哪些应用能从异步多任务模型中受益。我们的基础是流行的 FFTW 库。我们使用异步多任务模型 HPX 和一维 FFTW 后端,利用不同的 HPX 特性实现了多个版本,并指出了迁移过程中的开销和陷阱。此外,我们为 FFTW 添加了一个 HPX 线程后端。该案例研究分析了我们基于 HPX 的并行化与使用 pthreads、OpenMP 和 HPX 后端的 FFTW 之间的共享内存扩展特性。该案例研究还比较了 FFTW 的 MPI+X 后端与纯基于 HPX 的分布式实现。FFT 应用并未从异步任务中获益。相反,强制任务同步带来了更好的缓存性能,从而获得了更好的运行时间。尽管如此,我们为 FFTW 提供的 HPX 后端与现有后端相比具有竞争力。我们使用 MPI parcelport 和 HPX 集合实现的分布式 HPX 版本性能与 FFTW 的 MPI+OpenMP 相当。然而,使用 LCI parcelport 的 HPX 通信加速了高达 5 倍。

关键词

引用

@article{arxiv.2405.00016,
  title  = {HPX with Spack and Singularity Containers: Evaluating Overheads for HPX/Kokkos using an astrophysics application},
  author = {Patrick Diehl and Steven R. Brandt and Gregor Daiß and Hartmut Kaiser},
  journal= {arXiv preprint arXiv:2405.00016},
  year   = {2024}
}