最大で 1 バイト (値は 0 から 20 の可能性が最も高い) の値のマトリックスに対していくつかの操作を行う必要があります。行列はかなり大きいので、OpenCL を使用して GPU でこれらの操作を行い、行列を画像として保存することにしました。問題は、OpenCL が単一チャネル イメージをサポートしているかどうかについてのヒントを見つけることができなかったことです...実際に使用するよりも多くのデータを渡したくありません。
シングル チャネル イメージのサポートはありますか?
最大で 1 バイト (値は 0 から 20 の可能性が最も高い) の値のマトリックスに対していくつかの操作を行う必要があります。行列はかなり大きいので、OpenCL を使用して GPU でこれらの操作を行い、行列を画像として保存することにしました。問題は、OpenCL が単一チャネル イメージをサポートしているかどうかについてのヒントを見つけることができなかったことです...実際に使用するよりも多くのデータを渡したくありません。
シングル チャネル イメージのサポートはありますか?
とがCL_INTENSITY
ありCL_LUMINANCE
ます。しかし、画像関連の関数が必要ない場合 (マトリックスを操作したい場合に想定されるように)、通常のメモリ バッファーを使用する方がよいでしょう。
前の回答で述べたように、CL_INTENSITY と CL_LUMINANCE を使用します。
アドレッシング計算のレイテンシは Image オブジェクトの方が隠蔽されることが期待されますが、テクスチャ キャッシュはイメージ書き込みに関して一貫性が保たれていないため、同じカーネル呼び出しでイメージ書き込みを介して書き込まれたアドレスに読み取られたイメージはすべて、は未定義のデータを返します。そのため、開発者は通常のバッファのみを使用することを好みます。