假設你剛安裝了新的CUDA版本,以CUDA-10.1為例,安裝完成后用nvcc -V查看,輸出的仍然是之前的老版本CUDA。
使用
~$ which nvcc
/usr/bin/nvcc
查看系統默認調用的nvcc命令的位置,
~$ cat /usr/bin/nvcc exec /usr/lib/nvidia-cuda-toolkit/bin/nvcc
這是指向了系統默認的nvidia-cuda-toolkit位置,將其更改為剛安裝的cuda:
~$ sudo vi /usr/bin/nvcc exec /usr/local/cuda/bin/nvcc
保存更改后,nvcc -V命令得到CUDA-10.1版本。
nvcc -V輸出版本不正確會導致較多cuda代碼編譯的問題,比如detectron2中的自定義算子編譯步驟。
按此方法更改后可正確編譯。