PGakeコンパイラに付属のCUDAツールキット9.0を使用してCMake/CUDAプロジェクトを構築しようとしています。私がしようとしたとき、私はcmake
を実行すると残念ながら、私は次のエラーを取得する:PGIコンパイラのCUDAツールキットにlink.stubがありません
/home/user/opt/pgi/linux86-64/2017/cuda/9.0/bin/nvcc -ccbin=/usr/bin/g++-6
-shared -dlink CMakeFiles/cmTC_858b1.dir/main.cu.o -o
CMakeFiles/cmTC_858b1.dir/cmake_device_link.o
g++-6: error:
/home/user/opt/pgi/linux86-64/2017/cuda/9.0/bin/crt/link.stub: No such file or directory
実際、このようなファイルは、上記のディレクトリに存在しません。しかし、apt-get
がインストールされているシステムのCUDAツールキットディレクトリ(/usr/lib/nvidia-cuda-toolkit/bin
)に移動すると、ファイルlink.stub
のディレクトリcrt
があります。その場所からPGI CUDAツールキットディレクトリにcrt
ディレクトリをコピーするだけでは、CMakeは文句を言うことなく終了し、すべてがコンパイルされます(cuFFT
ライブラリに関するリンカエラーが発生しますが、これはまったく別の問題です)。
link.stub
ファイルの目的は何ですか。- なぜPGIコンパイラに付属のCUDAツールキットで利用できないのですか?
- この問題を処理するための「優しい」方法はありますか? PGIコンパイラツールキットのものは9.0ですが、私のシステムのCUDAツールキットバージョンは8.0なのでコピーペーストソリューションは気に入らないのです。
私はPGIコンパイラツールキットバージョン17.10を使用しています。