NVIDIA 컨테이너 툴킷 설치
설치
- apt (Advanced Package Tool): 주로 Debian 및 Ubuntu 같은 Debian 기반 리눅스 배포판에서 사용되는 패키지 관리자입니다. 사용의 편의성과 뛰어난 의존성 관리 기능을 제공합니다.
- 패키지 관리자: 리눅스 시스템에서 소프트웨어 패키지의 설치, 업데이트, 구성 및 제거를 관리하는 도구입니다. 시스템 유지보수와 소프트웨어 관리를 간편하게 해 줍니다.
- Zypper: 주로 openSUSE 및 SUSE Linux Enterprise 시스템에서 사용되는 패키지 관리자입니다. 강력한 의존성 해결 기능과 사용자 친화적인 인터페이스를 제공합니다.
Apt로 설치
- 프로덕션 저장소를 구성합니다.선택적으로 실험 패키지를 사용하도록 저장소를 구성합니다.
* 라이브러리가 안정적인 버전이라고 판단되어 널리 배포될 준비가 되었을 때 사용되는 저장소 -
$ sed -i -e '/experimental/ s/^#//g' /etc/apt/sources.list.d/nvidia-container-toolkit.list
sudo sed -i -e '/experimental/ s/^#//g' /etc/apt/sources.list.d/nvidia-container-toolkit.list
-
$ curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \ && curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \ sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \ sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
f여기서 실패했다!!!(해결)
- 저장소에서 패키지 목록을 업데이트합니다.
-
$ sudo apt-get update
- NVIDIA 컨테이너 툴킷 패키지를 설치합니다:
-
$ sudo apt-get install -y nvidia-container-toolkit
해결방법
Yum 또는 Dnf로 설치 ( 패키지 관리자 )
- 프로덕션 저장소를 구성합니다.선택적으로 실험 패키지를 사용하도록 저장소를 구성합니다.
-
$ sudo yum-config-manager --enable nvidia-container-toolkit-experimental
-
$ curl -s -L https://nvidia.github.io/libnvidia-container/stable/rpm/nvidia-container-toolkit.repo | \ sudo tee /etc/yum.repos.d/nvidia-container-toolkit.repo
- NVIDIA 컨테이너 툴킷 패키지를 설치합니다:
$ sudo yum install -y nvidia-container-toolkit
해결 방법으로는 먼저 yum-utils 패키지가 설치되어 있는지 확인하고, 없다면 설치하는 것입니다. 이를 위해 sudo yum install yum-utils 명령을 사용할 수 있습니다. 만약 현재 사용 중인 배포판이 RPM 기반의 리눅스가 아니라면, 이 명령은 사용할 수 없을 것입니다.
안된다. 실패했다.
Zypper로 설치(이걸로 해봐야지)
- 프로덕션 저장소를 구성합니다.선택적으로 실험 패키지를 사용하도록 저장소를 구성합니다.
-
$ sudo zypper modifyrepo --enable nvidia-container-toolkit-experimental
-
$ sudo zypper ar https://nvidia.github.io/libnvidia-container/stable/rpm/nvidia-container-toolkit.repo
- NVIDIA 컨테이너 툴킷 패키지를 설치합니다:
-
$ sudo zypper --gpg-auto-import-keys install -y nvidia-container-toolkit
Debian, Ubuntu, Fedora, CentOS 같은 다른 리눅스 배포판을 사용하고 있다면 zypper는 기본적으로 설치되어 있지 않을 것입니다. 실패했다!!
구성
전제조건
- 지원되는 컨테이너 엔진(Docker, Containerd, CRI-O, Podman)을 설치했습니다.
- NVIDIA 컨테이너 툴킷을 설치했습니다.
도커 구성
- 다음 명령을 사용하여 컨테이너 런타임을 구성합니다 nvidia-ctk.이 명령은 호스트의 파일을 nvidia-ctk수정합니다 . /etc/docker/daemon.jsonDocker가 NVIDIA Container Runtime을 사용할 수 있도록 파일이 업데이트됩니다.
-
$ sudo nvidia-ctk runtime configure --runtime=docker
오류발생
- Docker 데몬을 다시 시작합니다.
-
$ sudo systemctl restart docker
해결완료
sudo apt install docker-ce
왜 안되지
sudo apt install docker.io 이 명령어 써봄
not a symbolic link라는데 제대로 된건가
이제 제대로 되네
컨테이너 구성
- 다음 명령을 사용하여 컨테이너 런타임을 구성합니다 nvidia-ctk.이 명령은 호스트의 파일을 nvidia-ctk수정합니다 . /etc/containerd/config.toml컨테이너가 NVIDIA 컨테이너 런타임을 사용할 수 있도록 파일이 업데이트됩니다.
-
$ sudo nvidia-ctk runtime configure --runtime=containerd
- 컨테이너를 다시 시작합니다.
-
$ sudo systemctl restart containerd
이상한 정보 발생
config가 비어있고 재시작해라고? 제대로 된건가
실패했네 아...
(오류 해결완료)
https://forums.developer.nvidia.com/t/change-default-docker-location/248878
트릭을 수행하기 위해 소프트 링크를 만들 수 있습니다.
1. 도커 중지
sudo service docker stop
2. 도커 데이터 이동
$ mv /var/lib/docker /<new location>/docker
3. 소프트 링크 생성
$ ln -s /<new location>/docker /var/lib/docker
4. 도커를 다시 시작하세요
$ service docker start
이게 되네
CRI-O 구성
- 다음 명령을 사용하여 컨테이너 런타임을 구성합니다 nvidia-ctk.이 명령은 호스트의 파일을 nvidia-ctk수정합니다 . /etc/crio/crio.confCRI-O가 NVIDIA 컨테이너 런타임을 사용할 수 있도록 파일이 업데이트됩니다.
-
$ sudo nvidia-ctk runtime configure --runtime=crio
- CRI-O 데몬을 다시 시작합니다.
-
$ sudo systemctl restart crio
Docker를 사용하여 샘플 워크로드 실행
툴킷을 설치 및 구성하고 NVIDIA GPU 드라이버를 설치한 후 샘플 워크로드를 실행하여 설치를 확인할 수 있습니다.
- 샘플 CUDA 컨테이너를 실행합니다.
-
sudo docker run --rm --runtime=nvidia --gpus all ubuntu nvidia-smi
'2023 > isaac sim' 카테고리의 다른 글
(Xavier) SDK 5.12/20.04 Nitro ROS #4 (0) | 2024.01.18 |
---|---|
(Xavier) SDK 5.12/20.04 Nitro ROS #3 (0) | 2024.01.18 |
(window) humble #3 (0) | 2024.01.17 |
(WSL)Ubuntu 20.04 humlbe #2 (1) | 2024.01.16 |
DDS와 RTPS의 차이 (0) | 2024.01.16 |