본문 바로가기
메모/코딩

Command 'nvcc' not found 오류 원인 및 해결

by 붕붕=33 2024. 3. 27.

리눅스에서 Nvidia GPU 사용을 위해 CUDA 설치 후, 제대로 설치가 되었는지 확인하기 위해 nvcc --version 또는 nvcc -V 명령어를 사용하여 CUDA 버전을 확인할 수 있다.

 

하지만 CUDA 설치 시 자동으로 환경변수가 등록되는 윈도우와 달리 리눅스에서는 직접 환경변수를 등록해야 한다. 따로 환경변수 설정을 해주지 않으면 설치한 CUDA 버전이 아니라 Command 'nvcc' not found 오류를 보게 된다.

 


필요한 환경변수 설정은 아래 명령어와 같다.

export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:/lib63:$LD_LIBRARY_PATH

 

위 두 환경변수를 터미널에서 실행하면 해당 터미널과 연결된 프로세스에 환경변수 등록이 되고, nvcc 명령어를 사용할 수 있게 된다.

 

하지만 매번 새 터미널을 열 때마다 환경변수를 설정하는 것은 번거롭기 때문에 .bashrc 파일에 위의 명령어를 저장할 수 있다. 즉, vim과 같은 에디터를 사용하여 .bashrc 파일을 열고 맨 밑에 위의 환경변수 PATHLD_LIBRARY_PATH에 대한 경로를 입력한 후 저장한다.

$ vim ~/.bashrc

 

# vim 에디터로 .bashrc 파일을 열어 아래 내용 입력

# CUDA Toolkit
export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:/lib63:$LD_LIBRARY_PATH

 

에디터에서 빠져나온 후 저장한 환경변수 값을 적용해주기 위해 해당 터미널에서 아래의 명령어를 실행하거나 재부팅한다.

$ source ~/.bashrc

 


처음 리눅스에 CUDA가 설치되면 기본 경로는 /usr/local/cuda이지만, 여러 버전의 CUDA를 설치하여 특정 버전의 CUDA를 위의 두 환경변수 PATHLD_LIBRARY_PATH에 대한 경로로 지정하여 사용하는 것도 가능하다. 예를 들어, CUDA 11.7 버전을 별도로 다운받아 /usr/local 하위에 cuda-11.7의 이름으로 저장했다면, 환경변수 설정은 다음과 같다.

export PATH=/usr/local/cuda-11.7/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-11.7/lib64:/lib63:$LD_LIBRARY_PATH

 

댓글