【发布时间】:2013-03-19 19:48:50
【问题描述】:
我需要对最多占用一个字节的值矩阵进行一些操作(最有可能从 0 到 20 的值)。由于矩阵相当大,我想我会使用 OpenCL 在 GPU 上执行这些操作并将矩阵存储为图像。问题是我没有找到任何关于 OpenCL 是否支持单通道图像的提示......而且我不想传递比实际使用更多的数据。
是否支持单通道图像?
【问题讨论】:
标签: opencl image-formats
我需要对最多占用一个字节的值矩阵进行一些操作(最有可能从 0 到 20 的值)。由于矩阵相当大,我想我会使用 OpenCL 在 GPU 上执行这些操作并将矩阵存储为图像。问题是我没有找到任何关于 OpenCL 是否支持单通道图像的提示......而且我不想传递比实际使用更多的数据。
是否支持单通道图像?
【问题讨论】:
标签: opencl image-formats
有CL_INTENSITY 和CL_LUMINANCE。但是,如果您不需要图像相关功能(如果您想操作矩阵,我会假设),您最好使用常规内存缓冲区。
【讨论】:
如上一个答案中所述,使用 CL_INTENSITY 和 CL_LUMINANCE。
预计寻址计算的延迟对于 Image 对象隐藏得更好,但纹理缓存在图像写入方面并不保持一致,因此任何图像读取到已通过图像写入写入的地址相同的内核调用返回未定义的数据。因此开发人员更喜欢仅使用常规缓冲区。
【讨论】: