0

我正在尝试对 GPGPU 计算使用半精度。我需要澄清一个困惑

我可以同时找到所有这些东西的参考;

支持纹理格式的半浮点数据类型,纹理硬件自动将半精度转换为浮点,在设备上支持浮点到半和半浮点转换功能,以及以无符号短格式存储半精度值。

所以为了让这一切有意义,我做出了这些推论。

CUDA 支持两种处理半精度的方式。

  1. 将浮点数存储在全局内存中。通过halftofloat将它们转换为一半,以 unsigned short 形式存储在全局内存中,并在执行任何操作之前通过halftofloat重新转换为浮点数。

  2. (因为纹理内存是设备只读的)在主机中以 unsigned short 形式存储半精度数字,将它们从主机代码存储在纹理内存中,通过内部 TEX 函数读取并对其执行操作(无需转换为浮点数) .

如果我错了,请纠正我?

4

0 回答 0