I have installed cuda8.0, the latest version. I followed the procedure provided by Nvidia; but, when I type the command nvcc --version
it says nvcc is not installed!
What do I do now?
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It only takes a minute to sign up.
Sign up to join this communityThe problem is [ based on the link you provided] you haven't added it the .bashrc
. file so it can be seen:
From the terminal:
nano /home/username/.bashrc
# or
nano /home/$USER/.bashrc
Inside there add the following: (replace cuda-8.0
with your version)
export PATH="/usr/local/cuda-8.0/bin:$PATH"
export LD_LIBRARY_PATH="/usr/local/cuda-8.0/lib64:$LD_LIBRARY_PATH"
Then do the following to save and close the editor:
On you keyboard press the following:
ctrl + o --> save
enter or return key --> accept changes
ctrl + x --> close editor
Now either do source .bashrc
or close and open another terminal
Now run nvcc --version
Information:
.bashrc
: is the file read by the terminal
before opening and its found in the /home/$USER
diretory of the user in question..
before the file means its hidden from view unless you instruct you file manager to show hidden
filesThe above solution by @George Udosen is fine. If you want to save the manual procedure, you can automate it by the following:
Create a file add_to_bashrc
and add the following to it:
export CUDA_HOME=/usr/local/cuda
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64:/usr/local/cuda/extras/CUPTI/lib64
export PATH=$PATH:$CUDA_HOME/bin
Create a shell script automate.sh
:
(... some installation procedure ...)
cat add_to_bashrc >> ~/.bashrc
. ~/.bashrc
Then you just need to run your shell script:
sh automate.sh
Don't forget to check if the CUDA's shortcut (symLink) works correctly. Simply execute:
ls /usr/local/cuda
The answer from @George Udosen is perfect.
Just for increment it, you can also export to /usr/local/cuda
which is a symbolic link to /usr/local/cuda-10.1
, based on this answer. So, you can also write:
export PATH=/usr/local/cuda/bin${PATH:+:${PATH}}$
export LD_LIBRARY_PATH=/usr/local/cuda/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
For later versions of CUDA (11.7 for me), I followed the below steps:
Go to https://developer.nvidia.com/cuda-downloads and follow the installation instructions.
Inside the ~/.bashrc
file, update the path as follows:
export PATH="/usr/local/cuda-11.7/bin:$PATH"`
export LD_LIBRARY_PATH="/usr/local/cuda-11.7/lib64:$LD_LIBRARY_PATH"
The output of nvcc -V
then looks like:
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2022 NVIDIA Corporation
Built on Wed_Jun__8_16:49:14_PDT_2022
Cuda compilation tools, release 11.7, V11.7.99
Build cuda_11.7.r11.7/compiler.31442593_0
The above solution by @Agile Bean is fine. If you want to you can use the env var CUDA_HOME instead of /usr/local/cuda in the LD_LIBRARY_PATH and edit your .bashrc or .zshrc file or the resource file for your shell with emacs or vi or nano or your favorite editor:
emacs $HOME/.zshrc
Add the following lines to the .zshrc file export CUDA_HOME=/usr/local/cuda
export LD_LIBRARY_PATHlrwxrwxrwx 1 root root 20 Sep 11 19:59 =$LD_LIBRARY_PATH:$CUDA_HOME/lib64:$CUDA_HOME/extras/CUPTI/lib64
export PATH=$PATH:$CUDA_HOME/bin
(base) ➜ ~ nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2022 NVIDIA Corporation
Built on Wed_Jun__8_16:49:14_PDT_2022
Cuda compilation tools, release 11.7, V11.7.99
Build cuda_11.7.r11.7/compiler.31442593_0
(base) ➜ ~ which nvcc
/usr/local/cuda/bin/nvcc
Where is cuda really located? Let's follow the symbolic links to find out.
(base) ➜ ~ ls -ld /usr/local/cuda
/usr/local/cuda -> /etc/alternatives/cuda
(base) ➜ ~ ls -ld /etc/alternatives/cuda
/etc/alternatives/cuda -> /usr/local/cuda-11.7
which nvcc
see if it returns any thing...PATH
, find where it is withwhereis nvcc
..nvcc --version
to be sure