CUDA5.0とComputeCapability2.1カードを使用しています。
質問は非常に簡単です。カーネルをクラスの一部にすることはできますか?例えば:
class Foo
{
private:
//...
public:
__global__ void kernel();
};
__global__ void Foo::kernel()
{
//implementation here
}
そうでない場合、解決策は、クラスのメンバーであり、カーネルを内部的に呼び出すラッパー関数を作成することです。
はいの場合、通常のプライベート関数としてプライベート属性にアクセスできますか?
(現在、プロジェクトに他のいくつかのエラーがあるため、試してみて何が起こるかを確認しているだけでなく、参考になる質問だと思います。C++でCUDAを使用するための参考資料を見つけるのは困難でした。基本的な機能の例は次のとおりです。構造化コードの戦略は見つかりましたが、戦略ではありません。)