gpt4 book ai didi

OpenCL vs OpenMP,处理 LBM 问题时的性能差异有多大?

转载 作者:行者123 更新时间:2023-12-05 05:17:29 25 4
gpt4 key购买 nike

我想为 Lattice Boltzmann Method (LBM) 或普通 Navier-Stokes CFD 找到合适的 GPU 加速包。

CUDA 依赖于设备,这已经超出了我的想象。

根据 https://arxiv.org/abs/1704.05316,OpenCL 在进行 CFD 时比 OpenMP 快大约 3 倍

但是在LBM上没有比较。

OpenCL 的编码难度是原来的 2 倍。

我现在正在考虑 OpenCL 和 OpenMP,请告诉我这两者在 LBM 问题上的性能差异有多大?

最佳答案

我已经在 OpenCL 中实现了 LBM,请参阅我的 masters thesis .通过在各种 GPU 和 CPU 上测试我的代码,并通过与其他多 CPU 实现的性能比较,我可以说 1 个 GPU 上的 LBM 与约 2000-7000 个 CPU 内核上的速度差不多。性能优势确实是巨大的,因为 CPU 上的 LBM 效率对于所有 CPU 代码来说都非常低(~10-50%)。在 GPU 上,LBM 完全受到内存带宽的瓶颈,内存带宽比 CPU 大几个数量级。

此外,在 Nvidia A100/V100 上,我获得了 97%/100% 的硬件效率(D3Q19 和 FP32 为 8800/5250 MLUPs/s),所以你不能说与 CUDA 相比你会有性能劣势。我已验证我的代码可以在 Nvidia/AMD/Intel GPU 和 Intel CPU 上运行;它甚至可以在我智能手机的 Mali-G72 GPU 上运行。

所以,是的,我绝对推荐为 LBM 使用 OpenCL。


更新:我的 LBM 源代码现在可以在 GitHub 上找到.

关于OpenCL vs OpenMP,处理 LBM 问题时的性能差异有多大?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49122606/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com