PGI 编译器中的 CUDA 工具包丢失 link.stub
CUDA toolkit in PGI Compilers is missing link.stub
我正在尝试使用 PGI 编译器附带的 CUDA 工具包 9.0 构建我的 CMake/CUDA 项目。不幸的是,当我尝试这样做时 运行 cmake
:
/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
),则目录 crt
和文件 link.stub
就在那里。如果我只是将 crt
目录从该位置复制到 PGI CUDA 工具包目录,CMake 会停止抱怨并且所有内容都会编译(好吧,我收到关于 cuFFT
库之一的链接器错误,但我认为这是一个完全不同的问题)。
link.stub
文件的用途是什么?
- 为什么它在 PGI 编译器附带的 CUDA 工具包中不可用?
- 有没有更"gentle"的方法来处理这个问题?我不喜欢复制粘贴的解决方案,因为我系统的 CUDA 工具包版本是 8.0,而 PGI Compiler 工具包中的版本是 9.0。
我正在使用 PGI 编译器工具包版本 17.10。
我们 (PGI) 仅提供编译 OpenACC 和 CUDA Fortran 代码所需的 CUDA 工具包部分。我们的软件包不适用于独立的 CUDA C 开发。为此,请直接从 NVIDIA https://developer.nvidia.com/cuda-downloads
下载完整的 CUDA 9.0 工具包
我正在尝试使用 PGI 编译器附带的 CUDA 工具包 9.0 构建我的 CMake/CUDA 项目。不幸的是,当我尝试这样做时 运行 cmake
:
/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
),则目录 crt
和文件 link.stub
就在那里。如果我只是将 crt
目录从该位置复制到 PGI CUDA 工具包目录,CMake 会停止抱怨并且所有内容都会编译(好吧,我收到关于 cuFFT
库之一的链接器错误,但我认为这是一个完全不同的问题)。
link.stub
文件的用途是什么?- 为什么它在 PGI 编译器附带的 CUDA 工具包中不可用?
- 有没有更"gentle"的方法来处理这个问题?我不喜欢复制粘贴的解决方案,因为我系统的 CUDA 工具包版本是 8.0,而 PGI Compiler 工具包中的版本是 9.0。
我正在使用 PGI 编译器工具包版本 17.10。
我们 (PGI) 仅提供编译 OpenACC 和 CUDA Fortran 代码所需的 CUDA 工具包部分。我们的软件包不适用于独立的 CUDA C 开发。为此,请直接从 NVIDIA https://developer.nvidia.com/cuda-downloads
下载完整的 CUDA 9.0 工具包