结合 OpenMP 和 OpenCL

Posted

技术标签:

【中文标题】结合 OpenMP 和 OpenCL【英文标题】:Combining OpenMP and OpenCL 【发布时间】:2013-09-04 05:30:35 【问题描述】:

我的任务是计算数组的总和。

我打算做的是使用 OpenCL 执行部分 sun,以便内核返回一个较小的数组,其大小对应于工作项的数量。 然后使用 OpenMP 来总结这个有点小的数组。

现在,我想知道是否可以在我的 OpenCL 代码的主机部分中使用 OpenMP。如果是,我可以在 OpenMP 中使用 OpenCL 类型(比如 cl_float4)吗?

提前谢谢你,

     Éric.

【问题讨论】:

【参考方案1】:

cl_float4 基本上表示一个包含 4 个 float 值的数组,具有适当的 GPU 内存对齐。但是,它可以在宿主代码中使用,没有任何问题。

【讨论】:

【参考方案2】:

是的,您可以在主机代码中使用 OpenMP,是的,您可以在 OpenMP 块中使用 cl_float4。 OpenMP 不太关心您在并行部分中执行的操作。

【讨论】:

以上是关于结合 OpenMP 和 OpenCL的主要内容,如果未能解决你的问题,请参考以下文章

混合 C++11 原子和 OpenMP

[openMP] OpenMP在visual studio和mac上的配置

OpenMP 和 Python

为犰狳设置线程数

MacOS、CMake 和 OpenMP

openacc 与 openmp 和 mpi 的区别?