opencl

    0

    1答えて

    内部スクリプト言語呼び出しVEX(スタンドはvector expression)を使用して、OpenCLカーネルコードをSideFX Houdiniに移植しようとしています。 しかし、私はそれらのインデックスが何をし、どのように動作するかを理解する上で問題があります。 私はget_global_id()が特定の作業項目(どこかに読んでください)の作業に索引を返したことを理解していますが、実際にそれ

    1

    1答えて

    ローカル配列にいくつかの部分結果を格納する前に、 を1つの値に減らす(下記の例を参照)。縮小プロセス が開始される前に、すべてのスレッドが部分的に 部分データを正常に書き込むことができるようにバリアが配置されます。ただし、バリアでは、一時配列の値が のデフォルト値(つまりfloatの場合は0.0f)にリセットされます。 最小例: __kernel void simulate_plate(__loc

    0

    1答えて

    OpenCLで現在のGPUメモリ使用量を確認する信頼できる方法を探しています。 私はNVidia API:cudaMemGetInfo(size_t* free, size_t* total)を見つけて、現在のデバイスの空きメモリと合計メモリを取得しました。 しかし、私はAMDとOpenCLのソリューションを探しています。 OpenCLに似た機能があるのか​​どうかは分かりませんでした。 バッファ

    1

    1答えて

    私は10M floatのベクトルを持っています。 100要素ごとの合計を知りたいので、10000合計です。 これを行う最も速い方法は何ですか?

    0

    1答えて

    私は今boost :: compute openCLラッパーライブラリを学習しています。 コピー処理が非常に遅いです。 CPUのコピー速度を1に設定した場合、GPUからGPU、GPUからGPU、CPUからGPUまでのコピー速度はどれくらいですか? 正確な数字は必要ありません。ちょうど一般的なアイデアは大きな助けになるでしょう。 CPU-CPUの例では、GPU-GPUより少なくとも10倍高速です。

    0

    1答えて

    次のコードスニペット(単純な2次元行列乗算ルーチン)のインデックスカウントの優先順位を知りたい。 kernel void mmul( const int N, global float* A, global float* B, global float* C) { int k; int i = get_global_id(0);

    0

    1答えて

    質問がありますが、私はgpuコアの数十を活用するopenclを使用したいと思います。数日前、私はopenclを使ってプログラムを検索していましたが、ワークグループ、作業項目、カーネル、openclのロジックと混乱しました。 マルチコアCPUをプログラムするときと同じように、単一のgpu計算コア(または特定のコア)で実行するコードをスレッドに割り当てることはできますか?

    0

    2答えて

    OpenCLカーネルに文字列を渡そうとしています。ここに私のC++コード省略です: std::string a = "abcd"; char *aChar = new char[a.size()+1]; aChar[a.size()] = 0; memcpy(aChar, a.c_str(), a.size()); cl::Buffer serverKeyBuffer(context,

    0

    2答えて

    OpenCLプログラミングの新機能です。私のOpenCLアプリケーションでは、すべてのカーネルを起動した後にclWaitForEventsを使用します。 ケース1:撮影した time_start(); cl_event event; cl_int status = clEnqueueNDRangeKernel(queue, ..., &event); clWaitForEvents(1, &