私はOpenCLにかなり慣れていないので、ご容赦ください。
コードの最初の反復では、大規模なデータセットに基本的なメモリバッファーを使用し、それらをグローバルとして宣言しました。しかし、タイミングを改善しようとしているので、これにはテクスチャメモリを使用したいと思いました。CUDAバージョンでは、cudaBindTextureとtex1Dfetchを使用して、大きな1Dフロート配列のデータを取得します。私の仕様の理解からすると、テクスチャメモリは画像メモリと同じものです。ただし、最大の高さと幅を持つ2Dおよび3Dの画像オブジェクトしかないため、いくつかの問題が発生します。配列が最大の高さ/幅よりも大きいが、最大の高さ*最大の幅ではない。1D配列を2Dに変換する必要がありますか?それともそれを行うためのより良い方法はありますか?
それとも私は完全にオフですか?
http://forums.nvidia.com/index.php?showtopic=151743とhttp://forums.nvidia.com/index.php?showtopic=150454を読みましたが、テクスチャメモリかどうかについては正確には決定的ではありませんでした。ベストプラクティスとプログラミングガイドで言及されているのは、実際には画像オブジェクトでした。
ありがとう、そしてどんな助け/提案も大歓迎です!