を広く使用する C++ コードを調べていますboost::multi_array<double>
。
次のステップは、openCL を使用するようにコードを移植することです。私はopenCLにまったく慣れていないので、multi_array
. またはに書き換えるべきですnested-openCL-vector
かnested-c-array
。
あなたならどうしますか?
を広く使用する C++ コードを調べていますboost::multi_array<double>
。
次のステップは、openCL を使用するようにコードを移植することです。私はopenCLにまったく慣れていないので、multi_array
. またはに書き換えるべきですnested-openCL-vector
かnested-c-array
。
あなたならどうしますか?
OpenCLにはすでにライブラリが存在するようなブーストがあります。GPUベンダーの次のライブラリを確認することをお勧めします
NVIDIAのThurst:Thrustは、並列アルゴリズムとデータ構造の強力なライブラリです。Thrustは、開発者の生産性を大幅に向上させるGPUプログラミング用の柔軟で高レベルのインターフェイスを提供します。Thrustを使用すると、C ++開発者は数行のコードを記述して、GPUで高速化されたソート、スキャン、変換、および削減操作を最新のマルチコアCPUよりも桁違いに高速に実行できます。たとえば、thrust :: sortアルゴリズムは、STLおよびTBBよりも5倍から100倍速いソートパフォーマンスを提供します。
AMDが提供するMathLibrariesは、OpenCLで記述されたFFTおよびBLAS関数を含むソフトウェアライブラリであり、AMD GPUで実行するように設計されています。詳細については、http: //developer.amd.com/libraries/appmathlibs/Pages/default.aspxを参照してください。