0

私はOpenCLにかなり慣れていません。私の OpenCL コードは非常に単純です。__kernel-functions が別の (非カーネル) 関数を呼び出す 2 つの関数が含まれています。この関数に配列を渡したいのですが、そうすると、関数 (add) は常に 0 を返します。完全な配列は 0 です。しかし、カーネル関数で同じインデックスにアクセスすると、結果は期待どおりになります。 . 使用しているコードは次のとおりです。

    int add(__global  int * numArray) {
        return numArray[1]+numArray[2];

    }

    __kernel void sum(__global int * numArray, __global int * result) {
        result[get_global_id(0)] = numArray[0] //
        result[get_global_id(0)] = add(numArray); // = 0
    }

ここで間違っていることはありますか?

4

2 に答える 2