2

動的カーネルをコンパイルしてリンクし、それをGK110のCUDA ドライバー APIで使用しようとしています。

再配置可能なデバイスコードフラグとcompute_35、sm_35を使用してVisual Studioで.cuソースファイルをコンパイルし、CUDAリンカーがcudadevrt.libを追加します(少なくともリンカーの呼び出しに従って試みました)。ptx .obj で cuModuleLoad を実行すると、サポートされていないデバイス コードと表示されます。非現実的なほど小さく見える.device-link.objもあり、ドライバ API 関数のどれもそれを有効なイメージとして認識していないようです。ptx ファイルを調べると、CUDA のドキュメント (PTX セクションからの動的並列処理) に従って、カーネル起動関数の呼び出しが生成されていることがわかります。

動的なカーネル呼び出しが機能するように、適切なデバイス コードをリンクするにはどうすればよいですか?

(これは、VC2013 を使用した Win64 上の CUDA 6.5 です)

4

1 に答える 1