32 ビットの精度を必要としないアプリケーションを探しています。12 ~ 16 ビットで十分です。
スラストは float16 を処理できますか (つまり、2 つの 16 ビット精度浮動小数点を 32 ビット ワードにパック/アンパックします)?
固定小数点演算を使用する必要がありますか?
halfCUDA ハードウェアには、 -precision 演算のネイティブ サポートは含まれず、との変換のみが含まれfloatます。
C には組み込み型がないためhalf、変換組み込み関数は次を使用しますunsigned short。
unsigned short __float2half_rn( float );
float __half2float( unsigned short );
ここで受け入れられた回答は古くなっています。
Cuda 7.5 では、16 ビット浮動小数点がサポートされるようになりました。
およびデータ型のヘッダーcuda_fp16.hを含めます。halfhalf2