2012-08-01 222 views
2

我正在尋找一個不需要32位精度的應用程序,12-16位就足夠了。可以推薦處理半精度浮點數(float16/IEEE 754-2008)嗎?

推力能夠處理float16's(即將兩個16位精度浮點數打包/解包爲32位字)?

我應該使用定點算術嗎?

+3

Cuda沒有16位浮點運算支持。你可以加載一半浮點數並在單個操作中轉換爲單精度,但就是這樣。 – talonmies 2012-08-01 18:41:30

回答

1

CUDA硬件不包括本機支持half精算算法,只有轉換爲和從float轉換。

因爲C沒有內置half型,轉換內部函數使用unsigned short

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

接受的答案在這裏已經過時。

Cuda 7.5現在支持16位浮點數。

halfhalf2數據類型包含標頭cuda_fp16.h