私はIntelプラットフォーム上で動作するOpenCL C++コードを持っています。私は、ポインタがカーネルエンドの構造内で受け入れられないという考えを持っています。しかし、私はクラス内で自己参照ポインターオプションを使用しています。今、私は、構造体を使用することができ、ホスト側の構造体に同じものを複製することができますが、私はデバイス側で同じことをすることはできません。例えばOpenCLの自己参照ポインタ
次のように:
Class Classname{
Classname *SameClass_Selfreferencingpointer;
}
On the Host side I have done the same for the structure as well:
struct Structurename{
Structurename *SameStructure_Selfreferencingpointer;
}
誰かがデバイス側のために、この実施のための代替オプションを提供してもらえますか?
事前にお問い合わせいただきありがとうございます。
OpenCL KMAはmalloc()およびfree()機能を提供します。 Ben Gaster BlogとRoy Splietのgithubの実装を参照してください。(https://github.com/RSpliet/KMA) –
もしsyclがそれで動作するなら、よりリラックスしたC++が可能でしょうか? –
これを試したい場合、ComputeCppはSYCL実装です。 https://www.codeplay.com/products/computesuite/computecppから入手できます。 –