Skip to main content
QUICK REVIEW

[论文解读] Accelerating cellular automata simulations using AVX and CUDA

Sebastian Szkoda, Zbigniew Koza|arXiv (Cornell University)|Aug 12, 2012
Cellular Automata and Applications参考文献 4被引用 6
一句话总结

本文通过使用 AVX/SSE 向量指令和 CUDA 加速的 GPU,提升了 Frisch-Hasslacher-Pomeau(FHP)细胞自动机模拟的性能。研究结果表明,AVX 或 SSE 对最大化 CPU 性能至关重要;尽管 GPU 在计算效率方面表现更优,但配备 AVX/SSE 的 CPU 在成本和功耗效率方面与 GPU 相当,且 AVX 相较于 SSE 并未带来显著优势。

ABSTRACT

We investigated various methods of parallelization of the Frish-Hasslacher-Pomeau (FHP) cellular automata algorithm for modeling fluid flow. These methods include SSE, AVX, and POSIX Threads for central processing units (CPUs) and CUDA for graphics processing units (GPUs). We present implementation details of the FHP algorithm based on AVX/SSE and CUDA technologies. We found that (a) using AVX or SSE is necessary to fully utilize the potential of modern CPUs; (b) CPUs and GPUs are comparable in terms of computational and economic efficiency only if the CPU code uses AVX or SSE instructions; (c) AVX does not offer any substantial improvement relative to SSE.

研究动机与目标

  • 研究用于加速 FHP 细胞自动机模拟的细粒度并行化技术。
  • 比较 AVX/SSE 优化的 CPU 与 CUDA 加速的 GPU 在计算和经济效率方面的表现。
  • 评估现代 CPU 向量扩展(AVX/SSE)和 GPU 计算(CUDA)是否能显著提升数据并行细胞自动机工作负载的性能。
  • 确定在使用优化指令集和并行编程模型时,CPU 与 GPU 平台在性能与成本效益之间的权衡。

提出的方法

  • 使用 AVX 和 SSE 内在函数实现 FHP 模型,以在现代 CPU 上利用 SIMD 并行性。
  • 使用 POSIX 线程(PThreads)在 CPU 上实现多核并行,结合 AVX/SSE 以获得最佳性能。
  • 开发基于 CUDA 的 GPU 实现,以利用 NVIDIA GPU 上的大规模数据级并行性。
  • 将 FHP 模型的三角形晶格映射到矩形网格,以实现高效的内存访问和向量化操作。
  • 优化内存访问模式,并使用 8 位整数表示节点状态,以实现高效的位运算。
  • 在多个平台进行基准测试:Intel Xeon E3、E5 和 E5-2680(CPU),以及 GTX 480 和 Tesla M2075(GPU),测量每时间步的耗时和能效。

实验结果

研究问题

  • RQ1在 CPU 上,AVX 相较于 SSE 在加速 FHP 模拟方面表现如何?
  • RQ2在现代 CPU 上,使用 AVX 或 SSE 相较于顺序代码,性能提升幅度如何?
  • RQ3通过 CUDA 实现的 GPU 加速与优化后的 CPU 代码相比,在计算效率和经济效率方面表现如何?
  • RQ4当 AVX/SSE 和 GPU 优化被完全利用时,CPU 和 GPU 是否能实现相当的性能和成本效率?
  • RQ5内存带宽在不同架构上对 FHP 模拟性能的影响如何?

主要发现

  • 在 CPU 上使用 AVX 或 SSE,可使 FHP 模拟性能相比顺序代码提升约 3 倍。
  • 将 AVX/SSE 与 POSIX 线程结合使用,可在多核 CPU 上实现 12 至 18 倍的加速。
  • GTX 480 GPU 相较于顺序 CPU 代码最高可实现 50 倍的加速,且在测试的 GPU 中计算效率最高。
  • 在处理器对处理器的对比中,单个 Tesla M2075 GPU 的性能约为单个 Xeon E5 CPU 的 2 倍。
  • AVX 相较于 SSE 对此工作负载并无显著性能提升,表明在 SSE 之后性能增益已趋于饱和。
  • 仅当 CPU 充分优化时,其经济与能效表现才可与 GPU 相当;否则,GPU 在速度和效率方面均优于 CPU。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。