私はCUDAの問題に苦しんでいます。再帰カーネルを作成しました (最新では許可されています)。.cu ファイルは、多数のオブジェクトを含む大きなプロジェクトの一部です。カーネルのパラメーターの 1 つは、次のような Piece オブジェクト ( Piece.cpp ) です。
parallelKernel (Piece* piece, vector upcomingPieces)
再帰呼び出しを取得する必要があるときは、次のピース インデックスを作成するので、次のように記述します。
Piece *nextPiece = upcomingPieces[nextPieceIndex];
parallelKernel (nextPiece, upcomingPieces);
しかし、コンパイル時にエラーが発生します:
error: cannot pass an argument with a user-provided copy-constructor to a device-side kernel launch
今、私はコピーコンストラクターを書き込もうとしていますが、うまくいかないようです。誰でもこれについてより多くの洞察を提供できますか??