OpenCL,浮动性能的一半

And*_*itz 3 c c++ gpu gpgpu opencl

我目前正在开发一个需要存储和处理大量变量的应用程序(浮点数~4gb)

\n\n

由于各个变量的精度不太重要(我知道它们是有界的),我发现我可以使用 OpenCL 的一半而不是浮点数,因为这确实会减少内存量。

\n\n

我的问题是双重的。

\n\n
    \n
  • 使用一半而不是浮动是否会对性能造成影响(我认为图形卡是为浮动操作而构建的)

  • \n
  • 在计算中混合浮点数和半数会对性能造成影响吗?(即,一个浮点数乘以一半。)

  • \n
\n\n

此致\nAndreas Falkenstr\xc3\xb8m Mieritz

\n

Tom*_*nio 5

ARM CPU 和 GPU 的 ALU 具有原生支持half,因此您将获得接近双倍的速度,并且可大幅节省能耗。编辑: PowerVR GPU 也是如此。

台式机硬件仅支持half加载/存储和纹理单元,据我所知。即便如此,我还是希望half纹理在任何 GPU 上的性能都比纹理或缓冲区更好float。特别是如果您可以巧妙地利用纹理过滤。