cpp ファイルを .cu ファイルに変換しようとしています。ただし、コンパイラは、cpp のすべての typedef および静的関数のエラーを報告しています。また、スコープ解決演算子も検出せず、それらのエラーも報告します。
質問する
908 次
1 に答える
2
CUDA は、プリプロセッサ マクロを展開する方法にいくつかの重要な変更を加えます。CUDA コンストラクトを展開し、ホスト コードとデバイス コードを分離するために、プリプロセッサを介してコードを複数回実行するためです。これにより、大規模な既存のコード ベースが壊れる可能性があります。
この場合 (および新しく作成されたプロジェクトであっても) の私の一般的な戦略は、既存のすべてのコードを .cpp ファイルに保持し、できるだけ少ないコードのみを .cu ファイルに移動することでした。.cu ファイルと .cpp ファイルで必要な typedef と定義を別のヘッダーに移動し、既存の .cpp ファイルから呼び出す CUDA 呼び出しとカーネル起動の周りに小さなラッパー関数を記述します。
于 2012-11-02T09:58:28.033 に答える