【问题标题】:OpenCL support for grayscale imagesOpenCL 支持灰度图像
【发布时间】:2013-03-19 19:48:50
【问题描述】:

我需要对最多占用一个字节的值矩阵进行一些操作(最有可能从 0 到 20 的值)。由于矩阵相当大,我想我会使用 OpenCL 在 GPU 上执行这些操作并将矩阵存储为图像。问题是我没有找到任何关于 OpenCL 是否支持单通道图像的提示......而且我不想传递比实际使用更多的数据。

是否支持单通道图像?

【问题讨论】:

    标签: opencl image-formats


    【解决方案1】:

    CL_INTENSITYCL_LUMINANCE。但是,如果您不需要图像相关功能(如果您想操作矩阵,我会假设),您最好使用常规内存缓冲区。

    【讨论】:

    • OP 没有说明他对数据做了什么。此外,缓存假设取决于实际硬件,并且不是规范要求的。如果可用,对全局内存的访问可以通过本地共享内存进行缓存。
    • 也许你可以回答这个问题然后stackoverflow.com/questions/15322206/…
    【解决方案2】:

    如上一个答案中所述,使用 CL_INTENSITY 和 CL_LUMINANCE。

    预计寻址计算的延迟对于 Image 对象隐藏得更好,但纹理缓存在图像写入方面并不保持一致,因此任何图像读取到已通过图像写入写入的地址相同的内核调用返回未定义的数据。因此开发人员更喜欢仅使用常规缓冲区。

    【讨论】:

      猜你喜欢
      • 2014-08-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-12
      • 1970-01-01
      • 2019-11-30
      相关资源
      最近更新 更多