C++ container and openCL

C++ container and openCL

本文关键字:openCL and container C++      更新时间:2023-10-16

我正在研究一些广泛使用boost::multi_array<double> C++代码。

下一步是移植代码以使用 openCL。由于我对 openCL 很陌生,我不知道我应该如何处理multi_array。我应该把它改写成nested-openCL-vector还是nested-c-array.

你会怎么做?

OpenCL 已经存在类似库的提升,您可能需要查看 GPU 供应商的以下库

来自 NVIDIA 的 Thurst:Thrust 是一个强大的并行算法和数据结构库。 Thrust 为 GPU 编程提供了一个灵活的高级接口,极大地提高了开发人员的工作效率。使用 Thrust,C++开发人员只需编写几行代码即可执行 GPU 加速的排序、扫描、转换和缩减操作,速度比最新的多核 CPU 快几个数量级。 例如,thrust::sort 算法提供的排序性能比 STL 和 TBB 快 5 到 100 倍。

AMD

提供的数学库是包含用 OpenCL 编写的 FFT 和 BLAS 函数的软件库,旨在在 AMD GPU 上运行,有关更多信息,请查看此处:http://developer.amd.com/libraries/appmathlibs/Pages/default.aspx