可以推力处理半精度浮子(float16 / IEEE 754-2008)?

时间:2012-08-01 08:16:14

标签: c++ cuda thrust

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

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

我应该使用定点算术吗?

2 个答案:

答案 0 :(得分:1)

CUDA硬件不包含对half的本机支持 - 精确算术,仅转换为float

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

unsigned short __float2half_rn( float );
float __half2float( unsigned short );

答案 1 :(得分:0)

此处接受的答案现已过时。

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

包含cuda_fp16.hhalf数据类型的标头half2