为什么OpenCL没有矩阵数据类型?

时间:2014-09-21 15:06:54

标签: matrix types opencl

考虑到OpenCL内核在与着色器相同的单元上执行,我认为OpenCL具有与GLSL相同的数据类型是合乎逻辑的,但在此处查看:http://www.khronos.org/registry/cl/sdk/1.2/docs/man/xhtml/dataTypes.html我没有看到矩阵类型

为什么?

另外,这是否意味着如果我想要乘以4x4矩阵,使用OpenCL比使用GLSL要慢?

1 个答案:

答案 0 :(得分:7)

实际上,如果更仔细地查看link,则保留数据类型的类别中有矩阵数据类型:floatnxm,doublenxm。因此,在将来的标准版本中很可能会实现这些类型。我不知道他们为什么还没有这样做。

此时,您可以使用数组或image2d_t来表示矩阵。您可能想看一下这个article

速度如何?它并不一定意味着OpenCL速度较慢,但​​很有可能。即使您设法使用OpenCL为一个平台编写完美的矩阵乘法代码,在某些其他平台上性能也可能相当差。在OpenGL中,制造商正在编写自己的矩阵乘法代码,这对于每个平台都应该是最佳的。

相关问题