OpenCL:令人困惑的结果 local_item_size

OpenCL: Confusing Results according local_item_size

我的代码就像二维矩阵乘法 (http://gpgpu-computing4.blogspot.de/2009/09/matrix-multiplication-2-opencl.html)。 矩阵的维度为(1000*1000 和 10000*10000 和 100000*100000)。

我的硬件是:NVIDIA Corporation GM204 [GeForce GTX 980](MAX_WORK_GROUP_SIZES:1024 1024 64)。

问题是:

我有一些令人困惑的结果取决于 local_item_size,我需要了解发生了什么?

提前致谢,

关于你的第二个问题,原因如下:

  • 1000 / 8 = 125,好的
  • 1000 / 16 = 62.5,错了! INVALID_WORKGROUP_SIZE
  • 1000 / 10 = 100 可以,但是 10 和 10 的倍数永远不会完全使用 GPU 内核。
    • IE:如果你有 16 个 warp,则浪费 6 个,如果你有 32 个,则浪费 2 个,依此类推。
  • 10000x10000 = 400MB(至少,如果使用浮点数)仅用于输入,所以有些东西对于内存来说太大了,因此 CL_OUT_OF_RESOURCES