【发布时间】:2013-09-04 05:30:35
【问题描述】:
我的任务是计算数组的总和。
我打算做的是使用 OpenCL 执行部分 sun,以便内核返回一个较小的数组,其大小对应于工作项的数量。 然后使用 OpenMP 来总结这个有点小的数组。
现在,我想知道是否可以在我的 OpenCL 代码的主机部分中使用 OpenMP。如果是,我可以在 OpenMP 中使用 OpenCL 类型(比如 cl_float4)吗?
提前谢谢你,
Éric.
【问题讨论】:
我的任务是计算数组的总和。
我打算做的是使用 OpenCL 执行部分 sun,以便内核返回一个较小的数组,其大小对应于工作项的数量。 然后使用 OpenMP 来总结这个有点小的数组。
现在,我想知道是否可以在我的 OpenCL 代码的主机部分中使用 OpenMP。如果是,我可以在 OpenMP 中使用 OpenCL 类型(比如 cl_float4)吗?
提前谢谢你,
Éric.
【问题讨论】:
cl_float4 基本上表示一个包含 4 个 float 值的数组,具有适当的 GPU 内存对齐。但是,它可以在宿主代码中使用,没有任何问题。
【讨论】:
是的,您可以在主机代码中使用 OpenMP,是的,您可以在 OpenMP 块中使用 cl_float4。 OpenMP 不太关心您在并行部分中执行的操作。
【讨论】: