우분투 Nvidia 패키지 저장소


우분투 Nvidia 패키지 저장소 우분투 환경에서 Nvidia에서 공식적으로 제공하는 APT 패키지 Repository 사용방법에 대해서 설명드리도록 하겠습니다. Nvidia 드라이버, CDUA, cuDNN, TensoRT 등의 라이브러리를 종류와 버전 별로 손쉽게 설치 할 수 있습니다.

Nvidia APT Repository

우분투 등 리눅스 배포판에도 Nvidia 소프트웨어가 일부 포함되어 있습니다.
하지만 Nvidia 공식 Repository에는 배포판 Repository 보다 다양한 버전의 소포트웨어가 존재하며, 최신 버전이 배포가 되면 바로 Nvidia Repository에서 사용할 수 있다는 장점이 있습니다.

현재 아래의 2개의 Repository가 많이 사용되고 있습니다.

  • CUDA
  • Machine Learning

CUDA

Fedora, openSUSE, Ubuntu 등의 배포판을 지원하고 있으며, 우분투의 경우 LTS 버전 뿐만 아니라 최신 버전의 우분투 등을 지원하고 있습니다.

http://developer.download.nvidia.com/compute/cuda/repos/

주로 포함된 패키지는 Nvidia 드라이버, CUDA, Nvidia 도구, libxnvctrl 등의 라이브러리를 포함하고 있습니다.

Machine Learning

CUDA Repository와 다르게 Ubuntu 등의 상대적으로 적은 배포판을 지원하고 있습니다. cuDNN(libcudnn), libnccl, TensorRT(libnvinfer) 등 머신러닝에 필요한 라이브러리를 포함하고 있습니다.

http://developer.download.nvidia.com/compute/machine-learning/repos/

Nvidia 패키지 저장소 필요성

아래의 이미지를 보시면 아시겠지만, 만약 Tensorflow에서 지원되는 CUDA 및 TensorRT 버전 등이 제한 될 수 있습니다.
Nvidia APT 패키지 저장소를 사용하시면 손쉽게 버전별로 필요한 소프트웨어 패키지를 설치 할 수 있습니다.

우분투 Nvidia 패키지 저장소

Nvidia 패키지 저장소 추가

우분투 환경에서 NVIDIA APT 패키지 Repository 추가하는 방법에 대해서 설명드리도록 하겠습니다. 우분투를 기준으로 설명드립니다.

현재 NVIDIA 공식 Repository에서 지원되는 배포판 종류는 우분투 16.04, 17.04, 17.10, 18.04, 18.10 등 입니다. 이 배포판에 해당되는 우분투 버전을 사용하고 계신경우, 아래의 공통 명령어로 패키지 리스트를 추가 하실 수 있습니다.

먼저 아래의 명령어로 현재 사용하고 계신, 우분투 배포판 버전을 확인합니다.

$ release="ubuntu"$(lsb_release -sr | sed -e "s/\.//g")
$ echo $release

만약 우분투 18.04 일 경우, ubuntu1804 와 같은 내용이 출력되고, 16.04일경우 ubuntu1604 내용이 출력되게 됩니다.

위의 명령어로 배포판 이름이 $release 변수에 저장되게 되고, 아래의 명령어에서 해당 Repository로 추가될 수 있도록 사용됩니다. 따라서, 꼭 위의 명령어를 실행 후 아래의 명령어로 Repository를 추가합니다.

$ sudo apt install sudo gnupg
$ sudo apt-key adv --fetch-keys "http://developer.download.nvidia.com/compute/cuda/repos/"$release"/x86_64/7fa2af80.pub"
$ sudo sh -c 'echo "deb http://developer.download.nvidia.com/compute/cuda/repos/'$release'/x86_64 /" > /etc/apt/sources.list.d/nvidia-cuda.list'
$ sudo sh -c 'echo "deb http://developer.download.nvidia.com/compute/machine-learning/repos/'$release'/x86_64 /" > /etc/apt/sources.list.d/nvidia-machine-learning.list'
$ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A4B469963BF863CC
$ sudo apt update

NVIDIA 드라이버, CUDA 설치가 필요하실 경우, 아래의 글을 참고하셔서 설치해 주시면 됩니다.

우분투에서 NVIDIA 드라이버 설치 방법
CUDA 설치 우분투 환경

패키지 버전 확인

TensorRT 패키지를 이용하여, 패키지 정보 확인 및 세부 버전으로 패키지 설치 방법에 대해 설명드리도록 하겠습니다.
먼저 아래의 명령어로 설치할 패키지를 검색합니다. 아래와 같이 검색된 패키지 정보가 나타납니다.

 $ sudo apt search tensorrt

아래와 같은 명령어를 설치하면 libnvinfer5 패키지의 버전이 나타납니다. prebuilt 된 패키지로 패키지 버전과 CUDA 버전이 함께 나탑니다.

 $ sudo apt-cache madison libnvinfer5
libnvinfer5 | 5.1.5-1+cuda10.1 | http://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1804/x86_64  Packages
libnvinfer5 | 5.1.5-1+cuda10.0 | http://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1804/x86_64  Packages
libnvinfer5 | 5.1.2-1+cuda10.1 | http://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1804/x86_64  Packages
libnvinfer5 | 5.1.2-1+cuda10.0 | http://developer.download.nvidia.com/compute/machine-learning/repos/ubuntu1804/x86_64  Packages

패키지를 설치하면서 특정버전으로 설치하실 경우, 아래와 같이 버전을 명시해 주면서 설치하시면 됩니다. 패키지 의존성 있는 경우, 해당 패키지를 함께 설치해 주셔야 합니다.

$ sudo apt install libnvinfer5=5.1.5-1+cuda10.0

그리고 다음 명령어는 CUDA 10.0으로 빌드가 5.1.5 버전의 TensorRT 헤더와 라이브러리를 설치하는 명령어 입니다.

$ sudo apt install libnvinfer-dev=5.1.5-1+cuda10.0

( 본문 인용시 출처를 밝혀 주시면 감사하겠습니다.)