2

些細なことで申し訳ありませんが、グーグルで答えを見つけることができませんでした。

OpenCL 標準 (1.0 以降) に従って、半分の型はストレージ上の理由からサポートされています。

しかし、cl_khr_fp16 拡張機能がないと、これを何にも使用できないように思えますか?

私がやりたいのは、値を半分として保存することですが、すべての計算を float で実行します。

convert_half() を使用してみましたが、cl_khr_fp16 がないとサポートされません。自動Cスタイル変換のためにハーフの前に(float)を書いてみましたが、エイターは機能しませんでした。

私の質問は、ストレージの半分をどのように利用するのですか?

私は半分の読み書きの両方ができる必要があります。

4

3 に答える 3

3

とを使用vload_halfNstore_halfNます。保存されたhalfN値は、floatNとの間で変換されます。

于 2012-11-20T19:41:29.863 に答える
1

私が追加すると思った他の回答のいずれにも言及されていなかったので、OpenCLイメージでハーフフロートを使用することもできread_imagefwrite_imagef関数はフロートとの間の変換を行います(cl_khr_fp16拡張子は必要ありません)。その拡張機能は、半分に変数を含める (および計算を行う) ためだけのものです。

于 2014-04-16T15:06:48.087 に答える
1

私の知る限り、半分の型は GPU でのみサポートされていますが、ビット単位の操作について少し知っている限り、かなり簡単に float との間で変換することができます。

その方法についての適切な説明については、次のリンクをご覧ください。

ftp://ftp.fox-toolkit.org/pub/fasthalffloatconversion.pdf
于 2012-11-20T16:18:27.733 に答える