Chapel、Charm++、C++、HPX、Go、Julia、Python、Rust、Swift 与 Java 中并行一维热方程求解器的基准测试
分布式、并行与集群计算
2024-01-26 v3
摘要
许多模拟黑洞、海岸波、气候与天气等的高性能科学代码依赖于块结构网格,并使用有限差分方法迭代求解相应的微分方程组。本文中,我们研究使用多种编程系统与语言实现的此类极简模拟。我们聚焦于一种共享内存、并行化的算法,其利用异步队列进行幽灵区交换来模拟一维热扩散。我们讨论了各平台的优点,并探究了该模型代码在 Intel、AMD 与 ARM64FX 等不同计算架构上的性能。结果显示,在我们比较的集合中 Python 最慢;Java、Go、Swift 与 Julia 处于中间水平;性能较高的平台为 C++、Rust、Chapel、Charm++ 与 HPX。
引用
@article{arxiv.2307.01117,
title = {Benchmarking the Parallel 1D Heat Equation Solver in Chapel, Charm++, C++, HPX, Go, Julia, Python, Rust, Swift, and Java},
author = {Patrick Diehl and Steven R. Brandt and Max Morris and Nikunj Gupta and Hartmut Kaiser},
journal= {arXiv preprint arXiv:2307.01117},
year = {2024}
}