저는 CUDA의 문제로 고심하고 있습니다. 재귀 적 커널을 작성했습니다 (최신 허용). .cu 파일은 많은 개체가있는 큰 프로젝트의 일부입니다. 커널의 매개 변수의 하나는이 같은 조각 개체 (Piece.cpp)이다 : 나는 재귀 호출을받을 필요가있을 때CUDA & Copy-constructor
parallelKernel (Piece* piece, vector upcomingPieces)
, 나는 다음 작품 인덱스를 구축, 그래서 나는 이런 식으로 뭔가를 썼다 : 나는 복사 생성자를 작성하는 것을 시도하고있다, 그러나 나는 바로 그것을 얻을 수없는 것, 이제
error: cannot pass an argument with a user-provided copy-constructor to a device-side kernel launch
:
Piece *nextPiece = upcomingPieces[nextPieceIndex];
parallelKernel (nextPiece, upcomingPieces);
는하지만 컴파일시 오류가 발생합니다. 아무도 이것에 대해 더 많은 통찰력을 제공 할 수 있습니까 ??
문제는 사용자가 제공 한 copy ctr이 존재하지만 작동하기 위해 존재하지 않아야한다는 것입니다. –