2

我正在寻找一个不需要 32 位精度的应用程序,12-16 位就足够了。

推力是否能够处理 float16(即将两个 16 位精度浮点数打包/解包成一个 32 位字)?

我应该使用定点算术吗?

4

2 回答 2

1

CUDA 硬件不包括对half-precision 算术的本机支持,仅支持与float.

由于 C 没有内置half类型,因此转换内在函数使用unsigned short

unsigned short __float2half_rn( float );
float __half2float( unsigned short );
于 2012-08-02T15:07:26.863 回答
1

这里接受的答案现在已经过时了。

Cuda 7.5 现在支持 16 位浮点数。

包括和数据类型的标题cuda_fp16.hhalfhalf2

于 2015-10-15T13:25:21.203 回答