<!-- wp:paragraph -->
<p>Ubuntu 24.04 및 RTX 6000 Ada 환경에서 NVIDIA 드라이버, CUDA 12.9 및 AI 환경 설정 종합 가이드</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>NVIDIA RTX 6000 Ada Generation 그래픽 카드가 장착된 Ubuntu 24.04 워크스테이션에 NVIDIA 드라이버 및 CUDA Toolkit 12.9를 설치하는 체계적인 가이드를 제공합니다. 또한 GPU 가속 워크로드를 위한 Docker 구성 방법을 자세히 설명하고 NVIDIA Inference Microservices (NIM)를 소개합니다. 이 설정은 고급 AI 코딩 및 개발의 기초가 됩니다.</p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">I. 도입</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>인공 지능(AI) 및 머신 러닝(ML) 개발 환경은 강력한 하드웨어와 세심하게 구성된 소프트웨어 스택을 필요로 합니다. NVIDIA RTX 6000 Ada Generation 그래픽 카드는 48GB GDDR6 ECC 메모리와 18,176개의 CUDA 코어를 통해 AI, 렌더링 및 고성능 컴퓨팅 작업에 탁월한 성능을 제공합니다. Ubuntu 24.04 LTS는 이러한 까다로운 워크로드를 위한 안정적이고 널리 채택된 플랫폼 역할을 합니다. 이 가이드는 NVIDIA 드라이버, CUDA Toolkit 버전 12.9 및 필요한 cuDNN 라이브러리를 올바르게 설치하여 안정적인 AI 개발 환경을 구축하는 데 중점을 둡니다. 또한 Docker 컨테이너 내에서 GPU 가속을 활용하는 일반적인 요구 사항을 해결하고 NVIDIA NIM을 사용하여 모델을 배포하는 초기 단계를 제공합니다.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>여기에 설명된 절차는 호환성을 보장하고 최신 안정 소프트웨어 버전에 대한 액세스를 위해 공식 NVIDIA 리포지토리를 사용하는 것을 우선시합니다. 각 주요 설치 단계에는 각 구성 요소의 성공적인 설정을 확인하기 위한 검증 절차가 함께 제공됩니다.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p></p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">II. 시스템 요구 사항 및 초기 점검</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>설치 프로세스를 시작하기 전에 시스템이 필요한 하드웨어 및 소프트웨어 요구 사항을 충족하고 기존 환경이 준비되었는지 확인하는 것이 중요합니다.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p></p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">A. 하드웨어 요구 사항</h3>
<!-- /wp:heading -->

<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li><strong>GPU:</strong> NVIDIA RTX 6000 Ada Generation. 이 카드는 NVIDIA Ada Lovelace 아키텍처, ECC 기능이 있는 48GB GDDR6 메모리, 4세대 Tensor 코어 568개, 3세대 RT 코어 142개, CUDA 코어 18,176개를 갖추고 있으며 최대 전력 소비량은 300W입니다.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>CPU:</strong> Intel Core i5/i7/i9/Xeon 또는 AMD Ryzen/Epyc 클래스 프로세서.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>시스템 메모리:</strong> GPU 메모리 이상; GPU 메모리의 두 배 권장 (즉, &gt;= 48GB, 96GB 권장).</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>확장 슬롯:</strong> PCI Express 4.0 x16 (선호).</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>전원 공급 장치:</strong> RTX 6000 Ada의 300W TDP 및 기타 시스템 구성 요소를 지원하기에 충분한 전력량. 이 카드는 1x PCIe CEM5 16핀 전원 커넥터를 사용합니다.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li></li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">B. 소프트웨어 요구 사항</h3>
<!-- /wp:heading -->

<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li><strong>운영 체제:</strong> Ubuntu 24.04 LTS (Noble Numbat) x86_64. NVIDIA RTX 6000 Ada는 Ubuntu 24.04 LTS에서 테스트되었습니다. CUDA 12.9도 Ubuntu 24.04를 지원합니다.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>커널 헤더:</strong> 드라이버 설치에 필요합니다. 현재 실행 중인 커널과 일치해야 합니다.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>gcc 컴파일러:</strong> CUDA 샘플 및 애플리케이션 컴파일에 필요합니다. Ubuntu 24.04에는 일반적으로 호환되는 버전이 포함되어 있습니다.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>Secure Boot:</strong> 시스템의 UEFI/BIOS에서 Secure Boot가 활성화된 경우 드라이버 설치 중에 추가 단계(MOK 등록)가 필요합니다. 설치 프로세스를 위해 Secure Boot를 일시적으로 비활성화하는 것이 더 간단한 경우가 많지만, 일부 가이드에서는 키 등록 방법을 제안합니다. 이 가이드는 Secure Boot가 활성화되어 있을 수 있다고 가정하며 MOK 등록이 요청될 수 있는 시점을 명시합니다.</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">C. 설치 전 시스템 점검 및 업데이트</h3>
<!-- /wp:heading -->

<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li><strong>GPU 감지 확인:</strong> 시스템이 NVIDIA RTX 6000 Ada를 인식하는지 확인합니다 <!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li><code>lspci | grep -i nvidia</code> </li>
<!-- /wp:list-item --></ul>
<!-- /wp:list --></li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>출력에 NVIDIA 그래픽 카드가 표시되어야 합니다. 그렇지 않은 경우 물리적 설치 및 BIOS 설정을 확인하십시오. RTX 6000 Ada의 장치 ID가 출력에 나타날 수 있습니다.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>시스템 패키지 업데이트:</strong> 최신 상태의 시스템으로 시작하는 것이 좋습니다.<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li><code>sudo apt update sudo apt upgrade -y</code></li>
<!-- /wp:list-item --></ul>
<!-- /wp:list --></li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>커널 헤더 및 개발 도구 설치:</strong> 이는 드라이버 설치 중 커널 모듈 빌드에 필수적입니다.<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li><code>sudo apt install linux-headers-$(uname -r) build-essential</code> <code>build-essential</code> </li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>패키지에는 <code>gcc</code>, <code>g++</code>, <code>make</code> 및 기타 필요한 도구가 포함되어 있습니다.</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list --></li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>충돌하는 드라이버 처리 (Nouveau):</strong> 오픈 소스 Nouveau 드라이버는 NVIDIA의 독점 드라이버와 충돌할 수 있습니다. 블랙리스트에 추가하는 것이 종종 권장됩니다. 최신 NVIDIA 설치 프로그램이 이를 처리하지만 명시적인 블랙리스트 추가는 문제를 예방할 수 있습니다. <code>/etc/modprobe.d/blacklist-nouveau.conf</code> 파일을 만듭니다: <!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li><code>sudo nano /etc/modprobe.d/blacklist-nouveau.conf</code> </li>
<!-- /wp:list-item --></ul>
<!-- /wp:list --></li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>다음 줄을 추가합니다: <!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li><code>blacklist nouveau options nouveau modeset=0</code> </li>
<!-- /wp:list-item --></ul>
<!-- /wp:list --></li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>파일을 저장한 다음 initramfs를 업데이트하고 재부팅합니다: <!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li><code>sudo update-initramfs -u </code></li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><code>sudo reboot</code> </li>
<!-- /wp:list-item --></ul>
<!-- /wp:list --></li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>재부팅 후 드라이버 설치를 진행합니다. 이 단계는 NVIDIA 독점 드라이버를 위한 더 깨끗한 환경을 보장하여 설치 실패 또는 불안정한 그래픽 환경으로 이어질 수 있는 잠재적인 충돌을 최소화하는 데 도움이 됩니다.</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:heading -->
<h2 class="wp-block-heading">III. Ubuntu 24.04에서 RTX 6000 Ada용 NVIDIA 드라이버 설치</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>올바른 NVIDIA 드라이버를 설치하는 것은 AI 워크로드를 위해 RTX 6000 Ada를 활용하기 위한 기본 단계입니다. 권장되는 방법은 공식 NVIDIA CUDA 네트워크 리포지토리를 사용하는 것입니다. 이는 드라이버와 CUDA Toolkit 간의 최적의 호환성을 보장하기 때문입니다. 이 접근 방식은 NVIDIA가 소프트웨어 스택을 위해 이러한 리포지토리를 관리하므로 일반적인 Ubuntu 드라이버나 타사 PPA를 사용하는 것보다 전문 AI/ML 개발에 일반적으로 더 강력합니다.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">A. NVIDIA CUDA 네트워크 리포지토리 구성</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>NVIDIA CUDA 리포지토리는 드라이버, CUDA Toolkit 및 기타 관련 소프트웨어에 대한 액세스를 제공합니다. Ubuntu 24.04의 경우 리포지토리를 다음과 같이 구성해야 합니다. 이 명령은 네트워크 리포지토리 설정에 대한 NVIDIA 문서에 제공된 구조를 기반으로 하며 Ubuntu 24.04에 맞게 조정되었으며, 전용 패키지 목록이 있는 것으로 확인되었습니다.</p>
<!-- /wp:paragraph -->

<!-- wp:list {"ordered":true} -->
<ol class="wp-block-list"><!-- wp:list-item -->
<li><strong>NVIDIA CUDA 리포지토리 키 및 리포지토리 소스 추가:</strong><code>cuda-keyring</code> 패키지는 NVIDIA 패키지 서명에 사용되는 GPG 키를 설치하여 패키지의 신뢰성을 보장합니다. Bash 이 시퀀스는 먼저 키링 패키지를 다운로드하고 <code>dpkg</code>를 사용하여 설치한 다음(NVIDIA GPG 키 등록) 새로 추가된 NVIDIA 리포지토리의 패키지를 포함하도록 로컬 <code>apt</code> 패키지 목록을 업데이트합니다. `# cuda-keyring 패키지 다운로드 및 설치 참고: 정확한 URL은 변경될 수 있습니다. 항상 Ubuntu 24.04용 최신 NVIDIA CUDA 다운로드 페이지를 참조하십시오. 다음 구조가 일반적입니다: <!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li>wget <a href="https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2404/x86_64/cuda-keyring_1.1-1_all.deb">https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2404/x86_64/cuda-keyring_1.1-1_all.deb</a> sudo dpkg -i cuda-keyring_1.1-1_all.deb </li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>sudo apt-get update </li>
<!-- /wp:list-item --></ul>
<!-- /wp:list --></li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>다운로드한 deb 파일 정리 <!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li>rm cuda-keyring_1.1-1_all.deb`</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list --></li>
<!-- /wp:list-item --></ol>
<!-- /wp:list -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">B. NVIDIA 드라이버 설치</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>리포지토리가 구성되면 NVIDIA 드라이버를 설치할 수 있습니다.</p>
<!-- /wp:paragraph -->

<!-- wp:list {"ordered":true} -->
<ol class="wp-block-list"><!-- wp:list-item -->
<li><strong><code>cuda-drivers</code> 메타 패키지 설치:</strong> 이 메타 패키지는 리포지토리에서 사용 가능한 CUDA 브랜치와 호환되는 최신 적절한 드라이버 시리즈를 설치하도록 설계되었습니다.<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li><code>sudo apt-get install cuda-drivers</code> </li>
<!-- /wp:list-item --></ul>
<!-- /wp:list --></li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>NVIDIA NIM 문서는 최적의 성능을 위해 드라이버 버전 550 이상을 권장합니다. CUDA 12.x 리포지토리 브랜치의 <code>cuda-drivers</code> 패키지는 적합한 버전을 제공해야 합니다. NVIDIA의 오픈 커널 모듈을 사용하는 드라이버 버전 560.35.03으로 RTX 6000 Ada를 사용하여 Ubuntu 24.04에서 테스트한 내용이 언급되었습니다. <code>cuda-drivers</code> 패키지는 종종 설치 중에 옵션을 제공하거나 감지된 하드웨어에 대해 독점 또는 오픈 커널 모듈을 모두 사용할 수 있는 경우 둘 중 하나를 사용하도록 구성할 수 있습니다.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>시스템 재부팅:</strong> 새 커널 모듈이 로드되고 드라이버가 활성화되려면 재부팅이 필요합니다.<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li><code>sudo reboot</code> </li>
<!-- /wp:list-item --></ul>
<!-- /wp:list --></li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>Secure Boot 참고:</strong> Secure Boot가 활성화된 경우 시스템은 재부팅 프로세스 중에 MOK(Machine Owner Key) 등록을 요청할 가능성이 높습니다. 화면의 지시에 따라 NVIDIA 드라이버용 키를 등록하십시오. 여기에는 일반적으로 "Enroll MOK"를 선택하고 확인한 다음 드라이버 사전 설치 단계(DKMS에서 요청한 경우)에서 설정한 암호를 입력하는 과정이 포함됩니다. MOK를 등록하지 않으면 NVIDIA 드라이버가 로드되지 않습니다.</li>
<!-- /wp:list-item --></ol>
<!-- /wp:list -->

<!-- wp:paragraph -->
<p></p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">C. 드라이버 설치 확인</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>시스템이 재부팅된 후 NVIDIA 드라이버가 올바르게 설치되었고 RTX 6000 Ada가 인식되는지 확인합니다.</p>
<!-- /wp:paragraph -->

<!-- wp:list {"ordered":true} -->
<ol class="wp-block-list"><!-- wp:list-item -->
<li><strong><code>nvidia-smi</code> 실행:</strong> 이 명령줄 유틸리티는 설치된 NVIDIA 드라이버 및 GPU에 대한 정보를 제공합니다. <!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li><code>nvidia-smi</code></li>
<!-- /wp:list-item --></ul>
<!-- /wp:list --></li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>성공적인 출력은 다음을 표시합니다: <!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li><strong>드라이버 버전:</strong> 설치된 NVIDIA 드라이버의 버전입니다.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>CUDA 버전:</strong> 설치된 드라이버에서 지원하는 <em>최대 CUDA 버전</em>을 나타냅니다. 이는 아직 시스템에 설치된 CUDA Toolkit의 버전이 아니라 드라이버의 호환성 수준이라는 점을 이해하는 것이 중요합니다. 실제 CUDA Toolkit은 별도의 설치입니다. 사용자가 이 값을 활성 툴킷 버전으로 잘못 해석하는 경우가 많으므로 이 구분이 중요합니다.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>GPU 이름:</strong> "NVIDIA RTX 6000 Ada Generation"이 표시되어야 합니다.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>GPU 메모리:</strong> 총 메모리, 할당된 메모리 및 사용 가능한 메모리 (예: RTX 6000 Ada의 경우 총 48GB).</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>GPU 사용률, 온도 및 실행 중인 프로세스(있는 경우)와 같은 기타 세부 정보.</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list --></li>
<!-- /wp:list-item --></ol>
<!-- /wp:list -->

<!-- wp:paragraph -->
<p>다음 표는 드라이버 설치 명령을 요약한 것입니다:</p>
<!-- /wp:paragraph -->

<!-- wp:table -->
<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>단계</th><th>명령</th><th>예상 결과/참고</th></tr></thead><tbody><tr><td>1. NVIDIA 리포지토리 키 및 소스 추가</td><td><code>wget &lt;https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2404/x86_64/cuda-keyring_1.1-1_all.deb</code>&gt; &lt;br&gt; <code>sudo dpkg -i cuda-keyring_1.1-1_all.deb</code> &lt;br&gt; <code>sudo apt-get update</code> &lt;br&gt; <code>rm cuda-keyring_1.1-1_all.deb</code></td><td><code>apt</code> 소스가 NVIDIA 리포지토리로 업데이트되었습니다.</td></tr><tr><td>2. NVIDIA 드라이버 설치</td><td><code>sudo apt-get install cuda-drivers</code></td><td>리포지토리에서 최신 호환 NVIDIA 드라이버가 설치되었습니다.</td></tr><tr><td>3. 시스템 재부팅</td><td><code>sudo reboot</code></td><td>시스템이 재부팅됩니다. Secure Boot가 활성화된 경우 MOK 등록이 필요할 수 있습니다.</td></tr><tr><td>4. 드라이버 설치 확인</td><td><code>nvidia-smi</code></td><td>드라이버 버전, CUDA 호환성 버전 및 RTX 6000 Ada GPU 세부 정보를 표시합니다. 드라이버가 로드되어 작동하는지 확인합니다.</td></tr></tbody></table></figure>
<!-- /wp:table -->

<!-- wp:paragraph -->
<p></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><code>nvidia-smi</code>가 실패하거나 GPU를 표시하지 않으면 문제 해결 섹션을 참조하십시오.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p></p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">IV. Ubuntu 24.04에 CUDA Toolkit 12.9 설치</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>NVIDIA 드라이버가 올바르게 설치되고 확인되면 다음 단계는 CUDA Toolkit 버전 12.9를 설치하는 것입니다. CUDA Toolkit은 컴파일러, 라이브러리 및 도구를 포함하여 GPU 가속 애플리케이션을 만들기 위한 개발 환경을 제공합니다. 이전 섹션에서 구성한 NVIDIA 네트워크 리포지토리가 이 설치에 사용되며, Ubuntu 24.04 및 CUDA 12.9용 패키지를 특별히 제공합니다.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p></p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">A. CUDA Toolkit 12.9 설치</h3>
<!-- /wp:heading -->

<!-- wp:list {"ordered":true} -->
<ol class="wp-block-list"><!-- wp:list-item -->
<li><strong>CUDA Toolkit 패키지 설치:</strong> 개발 환경의 예측 가능성을 보장하기 위해 특정 버전의 CUDA Toolkit을 설치하는 것이 좋습니다. <code>cuda-toolkit-12-9</code> 패키지(또는 <code>cuda-12-9</code>와 유사한 이름의 메타 패키지)는 12.9 버전을 대상으로 합니다. 명시적인 버전을 사용하는 것이 일반적인 <code>sudo apt-get install cuda</code>보다 선호됩니다. 후자는 리포지토리 기본값이 변경될 경우 다른 버전을 설치할 수 있기 때문입니다. Bash 이 명령은 컴파일러(<code>nvcc</code>), 라이브러리 및 헤더를 포함한 CUDA Toolkit 12.9를 다운로드하고 설치합니다. Ubuntu 24.04 x86_64용 NVIDIA 리포지토리에는 CUDA 12.9용 특정 패키지가 나열되어 있어 이 방법을 통해 사용 가능함을 확인합니다. Ubuntu 24.04 기반 컨테이너에 NVIDIA CUDA 12.9.0이 존재한다는 점도 간접적인 지원을 나타냅니다. <!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li><code>sudo apt-get install cuda-toolkit-12-9</code></li>
<!-- /wp:list-item --></ul>
<!-- /wp:list --></li>
<!-- /wp:list-item --></ol>
<!-- /wp:list -->

<!-- wp:paragraph -->
<p></p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">B. 환경 변수 설정 (설치 후 필수)</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>시스템 및 개발 도구가 CUDA Toolkit 바이너리 및 라이브러리를 찾을 수 있도록 <code>PATH</code> 및 <code>LD_LIBRARY_PATH</code> 환경 변수를 업데이트해야 합니다. 이러한 변경 사항은 일반적으로 지속성을 위해 사용자의 <code>~/.bashrc</code> 파일에 추가됩니다.</p>
<!-- /wp:paragraph -->

<!-- wp:list {"ordered":true} -->
<ol class="wp-block-list"><!-- wp:list-item -->
<li><strong><code>~/.bashrc</code>에 CUDA 경로 추가</strong>: <!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li><code>echo 'export PATH=/usr/local/cuda-12.9/bin${PATH:+:${PATH}}' >> ~/.bashrc echo 'export LD_LIBRARY_PATH=/usr/local/cuda-12.9/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}' >> ~/.bashrc</code></li>
<!-- /wp:list-item --></ul>
<!-- /wp:list --></li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>현재 셸 세션에 변경 사항 적용: <!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li><code>source ~/.bashrc</code></li>
<!-- /wp:list-item --></ul>
<!-- /wp:list --></li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>환경 변수 확인:</strong> 경로가 올바르게 추가되었는지 확인합니다: <!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li>출력에는 <code>PATH</code>에 <code>/usr/local/cuda-12.9/bin</code>이, <code>LD_LIBRARY_PATH</code>에 <code>/usr/local/cuda-12.9/lib64</code>가 표시되어야 합니다. <!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li><code>echo $PATH echo $LD_LIBRARY_PATH</code></li>
<!-- /wp:list-item --></ul>
<!-- /wp:list --></li>
<!-- /wp:list-item --></ul>
<!-- /wp:list --></li>
<!-- /wp:list-item --></ol>
<!-- /wp:list -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">C. CUDA Toolkit 설치 확인</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>철저한 확인을 통해 툴킷이 올바르게 설치되었고 GPU와 통신할 수 있는지 확인합니다.</p>
<!-- /wp:paragraph -->

<!-- wp:list {"ordered":true} -->
<ol class="wp-block-list"><!-- wp:list-item -->
<li><strong><code>nvcc</code> 버전 확인:</strong> NVIDIA CUDA 컴파일러(<code>nvcc</code>)는 툴킷의 핵심 구성 요소입니다. 해당 버전은 설치된 툴킷과 일치해야 합니다.<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li><code>nvcc --version</code> 출력에는 "Cuda compilation tools, release 12.9"를 포함한 <code>nvcc</code>에 대한 정보가 표시되어야 합니다.</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list --></li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>CUDA 샘플 컴파일 및 실행: &lt;이 부분은 실패></strong> NVIDIA는 툴킷의 기능을 테스트하기 위한 CUDA 샘플을 제공합니다. 이러한 샘플은 이제 GitHub에서 호스팅되며 일반적으로 툴킷 패키지와 함께 기본적으로 설치되지 않습니다.<ul><li>CUDA 샘플 리포지토리 복제:</li></ul><!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li><ul><li><code>git</code>이 설치되어 있지 않으면 <code>sudo apt install git</code> 으로 설치합니다. </li></ul></li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><ul><li><code>git clone &lt;https://github.com/NVIDIA/cuda-samples.git> </code></li></ul></li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><ul><li><code>cd cuda-samples</code><strong><code>deviceQuery</code> </strong></li></ul></li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><ul><li><strong>빌드 및 실행:</strong><code>deviceQuery</code> 샘플은 CUDA 지원 장치와 해당 속성을 열거합니다.  </li></ul><!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li><ul><li><code>cd Samples/1_Utilities/deviceQuery </code></li></ul></li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><ul><li><code>make</code></li></ul>./deviceQuery <code>성공적으로 실행되면 NVIDIA RTX 6000 Ada에 대한 자세한 정보가 표시되고 `Result = PASS`로 끝납니다. 이는 CUDA 런타임이 GPU를 올바르게 식별하고 상호 작용할 수 있음을 확인합니다. 샘플이 GitHub로 마이그레이션됨에 따라 개발자는 이제 이러한 예제를 적극적으로 가져와야 하며, 이는 샘플이 종종 로컬 설치 경로에 포함되었던 이전 CUDA Toolkit 배포판과 달라진 점입니다.</code></li>
<!-- /wp:list-item --></ul>
<!-- /wp:list --></li>
<!-- /wp:list-item --></ul>
<!-- /wp:list --></li>
<!-- /wp:list-item --></ol>
<!-- /wp:list -->

<!-- wp:paragraph -->
<p>다음 표는 CUDA Toolkit 12.9 설치 및 확인 단계를 간략하게 설명합니다:</p>
<!-- /wp:paragraph -->

<!-- wp:table -->
<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>단계</th><th>명령</th><th>목적/예상 결과</th></tr></thead><tbody><tr><td>1. CUDA Toolkit 12.9 설치</td><td><code>sudo apt-get install cuda-toolkit-12-9</code></td><td>CUDA Toolkit 12.9 (컴파일러, 라이브러리, 헤더) 설치됨.</td></tr><tr><td>2. 환경 변수 설정</td><td><code>echo 'export PATH=/usr/local/cuda-12.9/bin${PATH:+:${PATH}}' &gt;&gt; ~/.bashrc</code> &lt;br&gt; <code>echo 'export LD_LIBRARY_PATH=/usr/local/cuda-12.9/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}' &gt;&gt; ~/.bashrc</code> &lt;br&gt; <code>source ~/.bashrc</code></td><td><code>PATH</code> 및 <code>LD_LIBRARY_PATH</code>가 CUDA 12.9 디렉터리를 포함하도록 업데이트됨.</td></tr><tr><td>3. <code>nvcc</code> 버전 확인</td><td><code>nvcc --version</code></td><td>CUDA Toolkit 버전 표시, 12.9인지 확인.</td></tr><tr><td>4. <code>deviceQuery</code> 샘플 컴파일 및 실행</td><td><code>git clone &lt;https://github.com/NVIDIA/cuda-samples.git</code>&gt;</td><td></td></tr><tr><td><code>cd cuda-samples/Samples/1_Utilities/deviceQuery</code> &lt;br&gt;</td><td></td><td></td></tr><tr><td><code>make</code> &lt;br&gt; <code>./deviceQuery</code></td><td><code>deviceQuery</code>가 성공적으로 컴파일 및 실행되어 RTX 6000 Ada 세부 정보와 <code>Result = PASS</code>를 표시함. 툴킷 기능 및 GPU 통신 확인.</td><td></td></tr></tbody></table></figure>
<!-- /wp:table -->

<!-- wp:paragraph -->
<p></p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">V. CUDA 12.9용 cuDNN 설치</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>NVIDIA CUDA Deep Neural Network 라이브러리(cuDNN)는 심층 신경망을 위한 GPU 가속 기본 요소 라이브러리입니다. 딥 러닝 프레임워크에서 고성능을 달성하는 데 필수적입니다. Ubuntu 24.04의 CUDA 12.9용 cuDNN은 드라이버 및 CUDA Toolkit에 사용된 것과 동일한 NVIDIA 네트워크 리포지토리에서 설치해야 합니다. 이 방법은 호환성을 보장하고 수동 tarball 방법에 비해 설치를 단순화합니다.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">A. cuDNN 라이브러리 설치</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Ubuntu 24.04 x86_64용 NVIDIA 리포지토리에는 CUDA 12.9용 특정 빌드를 포함하여 CUDA 12.x와 호환되는 cuDNN 9 패키지가 포함되어 있습니다. 설치에는 런타임 및 개발자 패키지를 가져오는 과정이 포함됩니다.</p>
<!-- /wp:paragraph -->

<!-- wp:list {"ordered":true} -->
<ol class="wp-block-list"><!-- wp:list-item -->
<li><strong>cuDNN 런타임 및 개발자 라이브러리 설치:</strong> cuDNN의 패키지 이름은 특정할 수 있습니다. 의 목록(예: <code>cudnn9-cuda-12-9_9.10.1.4-1_amd64.deb</code>, <code>libcudnn9-cuda-12_9.10.1.4-1_amd64.deb</code>, <code>libcudnn9-dev-cuda-12_9.10.1.4-1_amd64.deb</code>) 및 일반적인 cuDNN 설치 패턴을 기반으로 다음 명령은 CUDA 12.x용 cuDNN 9를 대상으로 합니다. 설치된 CUDA 버전에 해당하는 메타 패키지를 사용하는 것이 가장 좋습니다. CUDA 12.x의 경우 일반적으로 <code>sudo apt-get -y install cudnn9-cuda-12</code> 명령이 제안됩니다. CUDA 12.9가 설치되어 있으므로 <code>apt</code>는 올바른 종속성을 해결해야 합니다. <code>cudnn9-cuda-12-9</code>와 같은 더 구체적인 메타 패키지를 사용할 수 있고 NVIDIA에서 이 목적을 위해 명확하게 문서화한 경우 더욱 정확할 것입니다.  </li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>cuDNN 설치에 <code>apt</code>를 사용하는 것은 수동 방법보다 강력하게 권장됩니다. <code>apt</code>는 파일 배치, 권한 및 종속성을 올바르게 처리하여 더 강력하고 유지 관리 가능한 시스템을 만들기 때문입니다. 사용자가 CUDA 12.8용 cuDNN을 설치하려고 할 때 종속성으로 인해 12.9 패키지가 선호되었던 에서 암시된 버전 불일치와 같은 잠재적인 문제는 설치된 CUDA 12.9에 대한 올바른 메타 패키지를 대상으로 하여 완화됩니다. <!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li>`# 최신 cuDNN 버전을 볼 수 있도록 패키지 목록 업데이트 <!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li>sudo apt-get update </li>
<!-- /wp:list-item --></ul>
<!-- /wp:list --></li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>CUDA 12.x용 cuDNN 9 런타임 라이브러리 설치 <!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li>sudo apt-get install libcudnn9-cuda-12 </li>
<!-- /wp:list-item --></ul>
<!-- /wp:list --></li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>CUDA 12.x용 cuDNN 9 개발자 라이브러리 설치 (헤더 포함) <!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li>sudo apt-get install libcudnn9-dev-cuda-12`</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list --></li>
<!-- /wp:list-item --></ul>
<!-- /wp:list --></li>
<!-- /wp:list-item --></ol>
<!-- /wp:list -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">B. cuDNN 설치 확인</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>확인을 통해 cuDNN 라이브러리가 올바르게 설치되고 액세스 가능한지 확인합니다.</p>
<!-- /wp:paragraph -->

<!-- wp:list {"ordered":true} -->
<ol class="wp-block-list"><!-- wp:list-item -->
<li><strong>설치된 패키지 및 라이브러리/헤더 파일 확인:</strong><!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li>설치된 cuDNN 패키지 나열: <!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li><code>libcudnn9</code> 및 <code>libcudnn9-dev</code>와 같은 패키지가 표시되어야 합니다. </li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><code>dpkg -l | grep libcudnn</code></li>
<!-- /wp:list-item --></ul>
<!-- /wp:list --></li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>헤더 파일 존재 및 버전 확인 (경로는 패키지 세부 정보에 따라 약간 다를 수 있지만 일반적으로 표준 포함 디렉터리에 있음): 기본 헤더 <code>cudnn_version.h</code>에는 버전 매크로가 포함되어 있습니다. <code>apt</code> 설치 후 일반적인 위치는 <code>/usr/include/x86_64-linux-gnu/</code> 내입니다. </li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>이는 cuDNN 애플리케이션 컴파일에 필요한 헤더 파일이 있는지 확인하고 설치된 cuDNN 버전을 검사할 수 있도록 합니다. </li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>`# 버전 헤더 확인 <!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li>ls -l /usr/include/x86_64-linux-gnu/cudnn_version.h </li>
<!-- /wp:list-item --></ul>
<!-- /wp:list --></li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>CUDNN_MAJOR, CUDNN_MINOR, CUDNN_PATCHLEVEL 정의를 보려면 내용 표시 <!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li>cat /usr/include/x86_64-linux-gnu/cudnn_version.h`</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list --></li>
<!-- /wp:list-item --></ul>
<!-- /wp:list --></li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>cuDNN 샘플 컴파일 및 실행 (mnistCUDNN):&lt;이 부분 실패></strong> NVIDIA는 리포지토리의 패키지를 통해 설치할 수 있는 cuDNN 샘플을 제공합니다.<ul><li><strong>cuDNN 샘플 설치:</strong><code>libcudnn9-samples</code> 패키지를 사용할 수 있습니다. </li></ul><!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li><ul><li><code>sudo apt-get install libcudnn9-samples</code><strong><code>mnistCUDNN</code> </strong></li></ul></li>
<!-- /wp:list-item --></ul>
<!-- /wp:list --></li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><ul><li><strong>컴파일 및 실행:</strong> 샘플은 일반적으로 <code>/usr/src/cudnn_samples_v9/</code> 또는 유사한 위치에 설치됩니다. 이전 가이드에서는 때때로 <code>$HOME/cudnn_samples_v9/</code>를 참조합니다. 패키지 버전의 위치를 사용해야 합니다. </li></ul></li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><ul><li>`# mnistCUDNN 샘플 디렉터리로 이동 정확한 경로는 패키지 버전에 따라 다를 수 있으므로 /usr/src/ 확인 </li></ul><!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li><ul><li>cd /usr/src/cudnn_samples_v9/mnistCUDNN </li></ul></li>
<!-- /wp:list-item --></ul>
<!-- /wp:list --></li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><ul><li>샘플 컴파일 </li></ul><!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li><ul><li>sudo make clean &amp;&amp; sudo make </li></ul></li>
<!-- /wp:list-item --></ul>
<!-- /wp:list --></li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><ul><li>(빌드 아티팩트에 대해 /usr/src가 사용자 쓰기 가능하지 않은 경우 sudo가 필요할 수 있음) 또는 샘플 디렉터리를 사용자 쓰기 가능한 위치로 먼저 복사: </li></ul><!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li><ul><li>cp -r /usr/src/cudnn_samples_v9 ~/my_cudnn_samples </li></ul></li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><ul><li>cd ~/my_cudnn_samples/mnistCUDNN </li></ul></li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><ul><li>make clean &amp;&amp; make </li></ul></li>
<!-- /wp:list-item --></ul>
<!-- /wp:list --></li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><ul><li>샘플 실행`</li></ul>./mnistCUDNN </li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><code>성공적으로 실행되면 일반적으로 `Test passed!`가 인쇄됩니다. 이는 cuDNN이 설치된 CUDA Toolkit 및 GPU와 올바르게 작동하는지 종합적으로 확인합니다.</code></li>
<!-- /wp:list-item --></ol>
<!-- /wp:list -->

<!-- wp:paragraph -->
<p>다음 표는 네트워크 리포지토리를 사용한 cuDNN 설치를 요약한 것입니다:</p>
<!-- /wp:paragraph -->

<!-- wp:table -->
<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>단계</th><th>명령</th><th>목적</th></tr></thead><tbody><tr><td>1. 패키지 목록 업데이트</td><td><code>sudo apt-get update</code></td><td>로컬 패키지 인덱스 새로 고침.</td></tr><tr><td>2. cuDNN 런타임 설치</td><td><code>sudo apt-get install libcudnn9-cuda-12</code></td><td>CUDA 12.x와 호환되는 cuDNN 9 런타임 라이브러리를 설치합니다.</td></tr><tr><td>3. cuDNN 개발자 패키지 설치</td><td><code>sudo apt-get install libcudnn9-dev-cuda-12</code></td><td>CUDA 12.x용 cuDNN 9 헤더 파일 및 개발 라이브러리를 설치합니다.</td></tr><tr><td>4. (선택 사항) cuDNN 샘플 설치</td><td><code>sudo apt-get install libcudnn9-samples</code></td><td>cuDNN 샘플 코드를 설치합니다.</td></tr><tr><td>5. 설치 확인</td><td>`dpkg -l \</td><td>grep libcudnn<code>&lt;br&gt;</code>cat /usr/include/x86_64-linux-gnu/cudnn_version.h<code>&lt;br&gt; (샘플이 설치된 경우)</code>cd /usr/src/cudnn_samples_v9/mnistCUDNN &amp;&amp; make &amp;&amp;./mnistCUDNN`</td></tr></tbody></table></figure>
<!-- /wp:table -->

<!-- wp:paragraph -->
<p></p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">VI. GPU 가속을 위한 Docker 설정</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Docker 컨테이너는 휴대 가능하고 재현 가능한 환경을 만들기 위해 AI 개발에 널리 사용됩니다. Docker 컨테이너가 NVIDIA RTX 6000 Ada GPU에 액세스할 수 있도록 하려면 NVIDIA Container Toolkit을 설치하고 Docker를 올바르게 구성해야 합니다. 이 툴킷은 이전의 <code>nvidia-docker2</code>를 대체하고 보다 모듈화된 접근 방식을 제공합니다.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p></p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">A. Docker Engine 설치</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Docker가 아직 설치되어 있지 않으면 공식 Docker 설명서를 따르십시오. Ubuntu에서의 일반적인 설치는 다음과 같습니다:</p>
<!-- /wp:paragraph -->

<!-- wp:list {"ordered":true} -->
<ol class="wp-block-list"><!-- wp:list-item -->
<li><strong>Docker의 <code>apt</code> 리포지토리 설정 (공식 Docker CE에 대해 아직 수행하지 않은 경우):</strong> 가장 최신 명령은 <a href="https://docs.docker.com/engine/install/ubuntu/%EB%A5%BC">https://docs.docker.com/engine/install/ubuntu/를</a> 참조하십시오. 여기에는 일반적으로 Docker의 GPG 키와 리포지토리를 추가하는 과정이 포함됩니다.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>Docker Engine 설치</strong>:<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li><code>sudo apt-get update sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin</code></li>
<!-- /wp:list-item --></ul>
<!-- /wp:list --></li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>**루트가 아닌 사용자로 Docker 관리 (권장):**Bash 그런 다음 로그아웃했다가 다시 로그인하거나 현재 터미널 세션에서 <code>newgrp docker</code>를 실행하여 그룹 변경 사항을 적용합니다. 이렇게 하면 <code>sudo</code> 없이 <code>docker</code> 명령을 실행할 수 있습니다. <!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li><code>sudo groupadd docker </code></li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><code># 그룹이 아직 존재하지 않는 경우 </code></li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><code>sudo usermod -aG docker $USER</code></li>
<!-- /wp:list-item --></ul>
<!-- /wp:list --></li>
<!-- /wp:list-item --></ol>
<!-- /wp:list -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">B. NVIDIA Container Toolkit 설치</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>NVIDIA Container Toolkit은 Docker가 NVIDIA GPU와 상호 작용하는 데 필요한 구성 요소를 제공합니다.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><strong>NVIDIA Container Toolkit 리포지토리 구성:</strong> 다음 명령은 NVIDIA Container Toolkit용 GPG 키와 리포지토리를 추가합니다.</p>
<!-- /wp:paragraph -->

<!-- wp:code -->
<pre class="wp-block-code"><code>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 &#91;signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
    sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list</code></pre>
<!-- /wp:code -->

<!-- wp:paragraph -->
<p></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><strong>툴킷 패키지 설치</strong>:</p>
<!-- /wp:paragraph -->

<!-- wp:code -->
<pre class="wp-block-code"><code><code>sudo apt-get update </code>
<code>sudo apt-get install -y nvidia-container-toolkit</code></code></pre>
<!-- /wp:code -->

<!-- wp:paragraph -->
<p></p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">C. NVIDIA 런타임을 사용하도록 Docker 구성</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Docker 데몬은 NVIDIA 런타임을 인식하도록 구성해야 합니다.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><strong><code>nvidia-ctk</code>를 사용하여 Docker 구성:</strong></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><code>nvidia-ctk</code>(NVIDIA Container Toolkit CLI) 유틸리티는 Docker의 <code>daemon.json</code> 파일을 수정합니다. </p>
<!-- /wp:paragraph -->

<!-- wp:code -->
<pre class="wp-block-code"><code><code>sudo nvidia-ctk runtime configure --runtime=docker</code></code></pre>
<!-- /wp:code -->

<!-- wp:paragraph -->
<p><strong>Docker 데몬 다시 시작:</strong> Docker 서비스를 다시 시작하여 구성 변경 사항을 적용합니다. </p>
<!-- /wp:paragraph -->

<!-- wp:code -->
<pre class="wp-block-code"><code><code>sudo systemctl restart docker</code></code></pre>
<!-- /wp:code -->

<!-- wp:paragraph -->
<p></p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">D. Docker에서 GPU 액세스 확인</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>Docker 컨테이너가 GPU에 액세스할 수 있는지 확인하려면 <code>nvidia-smi</code>를 실행하는 테스트 컨테이너를 실행합니다.</p>
<!-- /wp:paragraph -->

<!-- wp:list {"ordered":true} -->
<ol class="wp-block-list"><!-- wp:list-item -->
<li><strong>CUDA 기본 컨테이너 실행:</strong> 공식 NVIDIA CUDA 이미지를 사용합니다. CUDA 12.9 설정을 확인하려면 CUDA 12.9가 포함된 이미지가 이상적입니다. NVIDIA는 Docker Hub에 <code>nvidia/cuda</code> 이미지를 제공하고 보다 전문화된 컨테이너를 위해 <code>nvcr.io</code>를 제공합니다. 에서는 CUDA 12.9.0이 포함된 Ubuntu 24.04 기반 컨테이너를 언급하지만 Docker Hub에서 간단한 기본 이미지로 공개적으로 사용할 수 있는지 여부는 다를 수 있습니다. 일반적인 대체 방법은 Ubuntu 22.04와 같은 최신 Ubuntu LTS를 기반으로 하는 CUDA 12.9 이미지입니다. <!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li><code>-gpus all</code> 플래그는 Docker에 사용 가능한 모든 GPU를 컨테이너에 액세스할 수 있도록 지시합니다. 설정이 올바르면 이 명령은 지정된 이미지를 가져오고(아직 없는 경우) 컨테이너 내에서 <code>nvidia-smi</code>를 실행합니다. 출력은 호스트의 <code>nvidia-smi</code> 출력과 유사해야 하며 RTX 6000 Ada 및 드라이버 세부 정보를 표시합니다. 이는 NVIDIA Container Toolkit이 올바르게 작동하고 GPU 리소스가 Docker 환경으로 전달되고 있음을 확인합니다. CUDA 12.9 라이브러리가 포함된 컨테이너를 사용하면 이 CUDA 버전에 맞게 빌드된 Docker 내 애플리케이션이 예상대로 작동할 수 있도록 더욱 보장됩니다. </li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>`# 사용 가능하고 알려진 경우 Ubuntu 24.04 기반 이미지로 시도 <!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li>sudo docker run --rm --gpus all <a href="http://nvcr.io/nvidia/cuda:12.9.0-base-ubuntu24.04">nvcr.io/nvidia/cuda:12.9.0-base-ubuntu24.04</a> <!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li>nvidia-smi </li>
<!-- /wp:list-item --></ul>
<!-- /wp:list --></li>
<!-- /wp:list-item --></ul>
<!-- /wp:list --></li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>그렇지 않으면 쉽게 사용할 수 있는 CUDA 12.9 이미지 사용: <!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li>sudo docker run --rm --gpus all nvidia/cuda:12.9.0-base-ubuntu22.04 </li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>nvidia-smi`</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list --></li>
<!-- /wp:list-item --></ul>
<!-- /wp:list --></li>
<!-- /wp:list-item --></ol>
<!-- /wp:list -->

<!-- wp:paragraph -->
<p>다음 표는 NVIDIA Container Toolkit 설치를 요약한 것입니다:</p>
<!-- /wp:paragraph -->

<!-- wp:table -->
<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>단계</th><th>하위 단계</th><th>명령</th><th>참고</th></tr></thead><tbody><tr><td>1. Docker Engine 설치</td><td>1a. Docker 리포지토리 설정</td><td>(공식 Docker 문서 참조)</td><td>공식 Docker CE가 설치되었는지 확인합니다.</td></tr><tr><td></td><td>1b. Docker 패키지 설치</td><td><code>sudo apt-get update</code> <br><br><code>sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin</code></td><td>Docker 구성 요소를 설치합니다.</td></tr><tr><td></td><td>1c. 사용자를 <code>docker</code> 그룹에 추가</td><td><code>sudo usermod -aG docker $USER</code> <br><code>newgrp docker</code> (또는 로그아웃/로그인)</td><td><code>sudo</code> 없이 Docker를 실행할 수 있도록 합니다.</td></tr><tr><td>2. NVIDIA Container Toolkit 설치</td><td>2a. 툴킷 리포지토리 구성</td><td>`curl -fsSL...</td><td>sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list` (전체 명령은 텍스트 참조)</td></tr><tr><td></td><td>2b. 툴킷 패키지 설치</td><td><code>sudo apt-get update</code> <br><br><code>sudo apt-get install -y nvidia-container-toolkit</code></td><td>툴킷을 설치합니다.</td></tr><tr><td>3. Docker 런타임 구성</td><td>3a. <code>nvidia-ctk</code>로 Docker 구성</td><td><code>sudo nvidia-ctk runtime configure --runtime=docker</code></td><td>NVIDIA 런타임을 사용하도록 Docker의 <code>daemon.json</code>을 업데이트합니다.</td></tr><tr><td></td><td>3b. Docker 서비스 다시 시작</td><td><code>sudo systemctl restart docker</code></td><td>런타임 구성 변경 사항을 적용합니다.</td></tr><tr><td>4. GPU 액세스 확인</td><td>4a. 테스트 컨테이너 실행</td><td><code>sudo docker run --rm --gpus all nvidia/cuda:12.9.0-base-ubuntu22.04 nvidia-smi</code></td><td>Docker 컨테이너 내에서 GPU에 액세스할 수 있는지 확인합니다. 출력에 RTX 6000 Ada가 표시되어야 합니다.</td></tr></tbody></table></figure>
<!-- /wp:table -->

<!-- wp:paragraph -->
<p></p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">VII. Nvidia NIM (NVIDIA Inference Microservices) 소개</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>NVIDIA Inference Microservices (NIM)는 AI 모델 배포를 단순화하여 확장 가능하고 프로덕션 준비가 된 마이크로서비스로 전환하도록 설계된 사전 빌드되고 최적화된 컨테이너입니다. NIM은 배포 복잡성 감소, 모델별 최적화를 통한 성능 향상, 손쉬운 통합을 위한 표준화된 API와 같은 이점을 제공합니다.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">A. Nvidia NIM의 전제 조건</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>NIM을 배포하기 전에 다음 전제 조건이 충족되었는지 확인하십시오:</p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li><strong>NVIDIA GPU:</strong> 충분한 메모리가 있는 NVIDIA GPU가 필요합니다. RTX 6000 Ada는 많은 NIM에 적합합니다.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>운영 체제:</strong> 지원되는 Linux 배포판. <code>glibc &gt;= 2.35</code>가 포함된 Ubuntu 24.04는 호환됩니다.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>NVIDIA 드라이버:</strong> 섹션 III에서 완료한 대로 최신 NVIDIA 드라이버를 설치해야 합니다.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>Docker 및 NVIDIA Container Toolkit:</strong> 섹션 VI에 자세히 설명된 대로 설치하고 구성해야 합니다.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>NVIDIA AI Enterprise 라이선스:</strong> LLM 및 기타 모델용 NVIDIA NIM을 자체 호스팅하려면 일반적으로 NVIDIA AI Enterprise 라이선스가 필요합니다. 사용자는 라이선스 조건을 확인하고 사용 가능한 경우 평가판 옵션을 살펴보아야 합니다. 이는 기술적 설정 외에 중요한 고려 사항입니다.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>NGC 계정 및 API 키:</strong> NIM 컨테이너 이미지를 가져오려면 NVIDIA의 NGC 카탈로그에 액세스해야 합니다.</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">B. NIM 설정 단계</h3>
<!-- /wp:heading -->

<!-- wp:list {"ordered":true} -->
<ol class="wp-block-list"><!-- wp:list-item -->
<li><strong>NGC API 키 생성:</strong> NGC 컨테이너 레지스트리로 인증하려면 API 키가 필요합니다.<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li>NGC 웹사이트(일반적으로 <code>https://org.ngc.nvidia.com/setup/api-keys</code> 또는 <code>https://org.ngc.nvidia.com/setup/personal-keys</code>)로 이동합니다.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>새 API 키를 생성합니다. 키 권한에 대해 "NGC Catalog" 서비스(또는 이를 포함하는 더 넓은 범위)가 선택되었는지 확인합니다.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>생성된 API 키를 복사하여 안전하게 보관합니다.</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list --></li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>API 키를 환경 변수로 내보내기:</strong> NIM 컨테이너는 이 환경 변수를 사용하여 모델 자산 다운로드를 위해 NGC로 인증합니다.Bash <code>export NGC_API_KEY="YOUR_API_KEY_HERE"</code> <code>"YOUR_API_KEY_HERE"</code>를 실제 키로 바꿉니다. 프로덕션 환경의 보안을 위해 이 키를 관리하는 더 안전한 방법(예: Docker 시크릿 또는 버전 제어에 커밋되지 않은 환경 파일)을 고려하십시오.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>NGC Docker 레지스트리에 로그인:</strong> API 키를 사용하여 NVIDIA의 컨테이너 레지스트리인 <code>nvcr.io</code>에 로그인합니다.<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li><code>echo "$NGC_API_KEY" | sudo docker login nvcr.io --username '$oauthtoken' --password-stdin</code> </li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>사용자 이름 <code>$oauthtoken</code>은 API 키가 인증에 사용되고 있음을 나타내는 특수 문자열입니다.</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list --></li>
<!-- /wp:list-item --></ol>
<!-- /wp:list -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">C. Nvidia NIM 실행</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>설정이 완료되면 NIM 컨테이너를 시작할 수 있습니다. 특정 모델 및 이미지 태그는 다를 수 있습니다.</p>
<!-- /wp:paragraph -->

<!-- wp:list {"ordered":true} -->
<ol class="wp-block-list"><!-- wp:list-item -->
<li><strong>실행할 NIM 식별 (선택 사항이지만 유익함):</strong> 사용 가능한 NIM은 NVIDIA API 카탈로그(<code>https://build.nvidia.com</code>)를 탐색하거나 NGC CLI 도구(설치된 경우)를 <code>ngc registry image list --format_type csv nvcr.io/nim/*</code>와 같은 명령으로 사용하여 찾을 수 있습니다.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>예시: Llama 3 NIM 시작:</strong> 다음은 예시입니다. <code>MODEL_NIM_PATH</code> 및 <code>NIM_IMAGE_TAG</code>를 NGC 카탈로그에서 원하는 모델의 실제 경로 및 태그로 바꾸십시오.Bash `# 예시: NGC의 실제 모델 경로 및 태그로 바꾸십시오. export MODEL_NIM_PATH="meta/llama3-8b-instruct" export NIM_IMAGE_TAG="1.0.0" # 예시 태그, 최신 버전은 NGC 확인 export NIM_IMAGE_NAME="<a href="http://nvcr.io/nim/$%7BMODEL_NIM_PATH%7D:$%7BNIM_IMAGE_TAG%7D">nvcr.io/nim/${MODEL_NIM_PATH}:${NIM_IMAGE_TAG}</a>" export LOCAL_NIM_CACHE="$HOME/.cache/nim" # 모델 아티팩트용 로컬 캐시 mkdir -p "$LOCAL_NIM_CACHE" export CONTAINER_NAME="nim_llama3_8b_instruct" sudo docker run -it --rm --name ${CONTAINER_NAME} \ --gpus all \ --runtime=nvidia \ -e NGC_API_KEY \ -v "${LOCAL_NIM_CACHE}:/opt/nim/.cache" \ -u $(id -u):$(id -g) \ -p 8000:8000 \ "${NIM_IMAGE_NAME}"` 주요 Docker 실행 매개변수 설명 :<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li><code>-gpus all</code>: 사용 가능한 모든 GPU를 컨테이너에 노출합니다.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><code>-runtime=nvidia</code>: NVIDIA 컨테이너 런타임을 지정합니다.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><code>e NGC_API_KEY</code>: 모델 다운로드를 위해 NGC API 키를 컨테이너에 전달합니다.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><code>v "${LOCAL_NIM_CACHE}:/opt/nim/.cache"</code>: 다운로드한 모델 가중치 및 아티팩트용 캐시로 로컬 디렉터리를 마운트하여 후속 실행 시 재다운로드를 방지합니다.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><code>u $(id -u):$(id -g)</code>: 마운트된 캐시와의 권한 문제를 방지하기 위해 현재 사용자의 ID 및 그룹 ID로 컨테이너를 실행합니다.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><code>p 8000:8000</code>: 호스트의 포트 8000을 NIM 서비스가 일반적으로 수신 대기하는 컨테이너의 포트 8000에 매핑합니다.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><code>${NIM_IMAGE_NAME}</code>: <code>nvcr.io</code>의 NIM 컨테이너 이미지 전체 이름 및 태그입니다.</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list --></li>
<!-- /wp:list-item --></ol>
<!-- /wp:list -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">D. NIM과 상호 작용</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>NIM 컨테이너가 실행되면 모델을 다운로드하고(아직 캐시되지 않은 경우) 추론 서버를 시작합니다.</p>
<!-- /wp:paragraph -->

<!-- wp:list {"ordered":true} -->
<ol class="wp-block-list"><!-- wp:list-item -->
<li><strong>서버 준비 대기:</strong> 컨테이너 로그(<code>sudo docker logs -f ${CONTAINER_NAME}</code>)에서 서버가 준비되었음을 나타내는 메시지(예: "NIM server is ready" 또는 유사 메시지)를 모니터링합니다.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>**상태 엔드포인트 확인:**Bash 성공적인 응답(예: 상태 "ready"인 HTTP 200)은 서버가 작동 중임을 나타냅니다. <code>curl &lt;http://localhost:8000/v1/health/ready</code>&gt;</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>**NIM에서 제공하는 모델 나열:**Bash 그러면 이 특정 NIM 인스턴스에서 제공하는 모델이 표시됩니다. <code>curl &lt;http://localhost:8000/v1/models</code>&gt;</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>추론 요청 보내기:</strong> LLM NIM의 경우 API는 종종 OpenAI와 호환됩니다. 채팅 완료 모델 예시 : Bash 많은 LLM에 OpenAI 호환 API를 사용하면 개발자가 기존 클라이언트 라이브러리를 종종 활용할 수 있으므로 통합이 단순화됩니다. <code>curl -X POST &lt;http://localhost:8000/v1/chat/completions&gt; \\ -H "Content-Type: application/json" \\ -H "Authorization: Bearer YOUR_NGC_API_KEY" \\ -d '{ "model": "meta/llama3-8b-instruct", // v1/models 출력의 모델 이름 사용 "messages":, "temperature": 0.7, "max_tokens": 100 }'</code></li>
<!-- /wp:list-item --></ol>
<!-- /wp:list -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">E. NIM 컨테이너 중지</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><code>sudo docker stop ${CONTAINER_NAME}</code></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>다음 표는 NVIDIA NIM의 주요 Docker 실행 매개변수를 강조 표시합니다:</p>
<!-- /wp:paragraph -->

<!-- wp:table -->
<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>매개변수</th><th>예시 값</th><th>목적</th></tr></thead><tbody><tr><td><code>--gpus all</code></td><td><code>all</code></td><td>모든 호스트 GPU를 컨테이너에서 사용할 수 있도록 합니다.</td></tr><tr><td><code>--runtime=nvidia</code></td><td><code>nvidia</code></td><td>GPU 액세스를 위한 NVIDIA 컨테이너 런타임을 지정합니다.</td></tr><tr><td><code>-e NGC_API_KEY</code></td><td>(환경 변수 값)</td><td>NGC에서 모델/자산 다운로드 인증을 위해 NGC API 키를 컨테이너에 전달합니다.</td></tr><tr><td><code>-v LOCAL_NIM_CACHE:/opt/nim/.cache</code></td><td><code>"$HOME/.cache/nim:/opt/nim/.cache"</code></td><td>다운로드한 모델을 유지하고 재다운로드를 방지하기 위해 컨테이너 내 캐시로 호스트 디렉터리를 마운트합니다.</td></tr><tr><td><code>-p HOST_PORT:CONTAINER_PORT</code></td><td><code>8000:8000</code></td><td>호스트의 포트를 NIM 서비스가 수신 대기하는 컨테이너 내부의 포트에 매핑합니다.</td></tr><tr><td><code>NIM_IMAGE_NAME</code></td><td><code>nvcr.io/nim/meta/llama3-8b-instruct:1.0.0</code></td><td>실행할 특정 NIM의 전체 Docker 이미지 이름 및 태그입니다.</td></tr></tbody></table></figure>
<!-- /wp:table -->

<!-- wp:paragraph -->
<p></p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">VIII. (선택 사항) CUDA 12.9를 지원하는 AI 프레임워크 설치</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>드라이버, CUDA Toolkit, cuDNN 및 Docker를 설정한 후 개발자는 일반적으로 PyTorch 또는 TensorFlow와 같은 AI 프레임워크를 설치합니다. 이는 종속성을 효과적으로 관리하기 위해 일반적으로 Python 가상 환경 내에서 <code>pip</code>를 사용하여 설치됩니다.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>시스템의 NVIDIA 드라이버는 CUDA 12.9와 호환되고 CUDA Toolkit 12.9가 설치되어 있지만, AI 프레임워크용 사전 컴파일된 <code>pip</code> 패키지는 약간 이전 CUDA 버전(예: CUDA 12.1, 12.3 또는 12.8)에 대해 빌드될 수 있다는 점에 유의해야 합니다. 이러한 패키지는 일반적으로 순방향 호환되며 드라이버의 호환성으로 인해 올바르게 실행되지만 프레임워크 자체는 핵심 작업을 위해 컴파일된 CUDA 버전을 활용합니다.</p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">A. PyTorch</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>PyTorch는 종종 최신 CUDA 버전과 호환되는 <code>pip</code> 휠을 제공합니다.</p>
<!-- /wp:paragraph -->

<!-- wp:list {"ordered":true} -->
<ol class="wp-block-list"><!-- wp:list-item -->
<li>**Python 가상 환경 생성 및 활성화:**Bash <code>python3 -m venv ~/pytorch_env source ~/pytorch_env/bin/activate</code></li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>PyTorch 설치:</strong> 최신 명령은 공식 PyTorch 웹사이트(<a href="https://pytorch.org/get-started/locally/">https://pytorch.org/get-started/locally/</a>)를 참조하십시오. CUDA 12.x의 경우 다음과 유사한 명령이 일반적입니다. 최근 정보에 따르면 Linux용 <code>cu128</code>(CUDA 12.8) 휠이 포함된 PyTorch 2.7을 사용할 수 있으며 CUDA 12.9 환경과 호환되어야 합니다. 특정 <code>cu129</code> 휠을 사용할 수 있게 되면 해당 휠이 선호됩니다. 그렇지 않으면 <code>cu121</code> 또는 <code>cu128</code>이 일반적인 선택입니다. Bash*(설치 시점에 PyTorch에서 CUDA 12.9에 대해 더 직접적이거나 최신 호환 휠(예: <code>cu129</code> 또는 <code>cu121</code>)을 권장하는 경우 <code>cu128</code>을 조정하십시오).* <code>pip3 install torch torchvision torchaudio --index-url &lt;https://download.pytorch.org/whl/cu128</code>&gt;</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>**PyTorch 설치 확인:**Python Python 파일(예: <code>verify_pytorch.py</code>)로 저장하고 <code>python verify_pytorch.py</code>를 실행합니다. <code>torch.cuda.is_available()</code>는 <code>True</code>를 반환해야 합니다. <code>import torch print(f"PyTorch Version: {torch.__version__}") print(f"CUDA Available: {torch.cuda.is_available()}") if torch.cuda.is_available(): print(f"CUDA Version (PyTorch built with): {torch.version.cuda}") print(f"GPU Name: {torch.cuda.get_device_name(0)}")</code></li>
<!-- /wp:list-item --></ol>
<!-- /wp:list -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">B. TensorFlow</h3>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>TensorFlow는 Python 환경 내에 호환되는 CUDA 및 cuDNN 라이브러리를 번들로 제공하여 GPU 설정을 단순화하려는 <code>tensorflow[and-cuda]</code> pip 패키지를 제공합니다.</p>
<!-- /wp:paragraph -->

<!-- wp:list {"ordered":true} -->
<ol class="wp-block-list"><!-- wp:list-item -->
<li>Python 가상 환경 생성 및 활성화: <!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li><code>python3 -m venv ~/tensorflow_env source ~/tensorflow_env/bin/activate</code></li>
<!-- /wp:list-item --></ul>
<!-- /wp:list --></li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>GPU 지원 TensorFlow 설치:</strong><code>tensorflow[and-cuda]</code> 패키지는 특정 버전의 CUDA 및 cuDNN을 번들로 제공합니다. 예를 들어, 최신 TensorFlow 버전은 CUDA 12.3 및 cuDNN 8.9.7을 번들로 제공할 수 있습니다. 이는 TensorFlow가 시스템에 설치된 CUDA 12.9 및 해당 cuDNN을 직접 사용하지 않고 이러한 번들 라이브러리를 작업에 사용하지만 CUDA 12.9 호환 드라이버에서 실행된다는 의미입니다. <!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li><code>pip install -U pip # pip 업그레이드 pip install tensorflow[and-cuda]</code></li>
<!-- /wp:list-item --></ul>
<!-- /wp:list --></li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>**TensorFlow 설치 확인:**Python <code>import tensorflow as tf print(f"TensorFlow Version: {tf.__version__}") gpus = tf.config.list_physical_devices('GPU') if gpus: print(f"Num GPUs Available: {len(gpus)}") for gpu in gpus: print(f"GPU Name: {gpu.name}") else: print("No GPU detected by TensorFlow")</code> Python 파일(예: <code>verify_tensorflow.py</code>)로 저장하고 <code>python verify_tensorflow.py</code>를 실행합니다. 출력에 RTX 6000 Ada가 나열되어야 합니다. TensorFlow에 대해 시스템 CUDA 12.9와의 정확한 정렬이 엄격하게 필요한 경우 구성 프로세스 중에 CUDA 12.9 및 호환되는 cuDNN 버전을 지정하여 소스에서 TensorFlow를 빌드해야 합니다. 이는 고급 절차이며 TensorFlow 자체에서 해당 특정 CUDA 버전에 연결된 특정 기능이나 최적화가 필요한 경우가 아니면 일반적으로 필요하지 않습니다.</li>
<!-- /wp:list-item --></ol>
<!-- /wp:list -->

<!-- wp:paragraph -->
<p>다음 표는 AI 프레임워크 설치에 대한 빠른 참조를 제공합니다:</p>
<!-- /wp:paragraph -->

<!-- wp:table -->
<figure class="wp-block-table"><table class="has-fixed-layout"><thead><tr><th>프레임워크</th><th>권장 설치 명령 (CUDA 12.x 호환성용)</th><th>확인 명령 (Python)</th><th>CUDA 12.9 참고 사항</th></tr></thead><tbody><tr><td>PyTorch</td><td><code>pip3 install torch torchvision torchaudio --index-url &lt;https://download.pytorch.org/whl/cu128</code>&gt;</td><td><code>import torch; print(torch.__version__); print(torch.cuda.is_available()); print(torch.version.cuda if torch.cuda.is_available() else "")</code></td><td>사전 빌드된 휠(예: <code>cu128</code> 또는 <code>cu121</code>)은 일반적으로 CUDA 12.9 드라이버/툴킷과 순방향 호환됩니다. 인쇄된 <code>torch.version.cuda</code>는 PyTorch가 빌드된 CUDA 버전을 보여줍니다.</td></tr><tr><td>TensorFlow</td><td><code>pip install tensorflow[and-cuda]</code></td><td><code>import tensorflow as tf; print(tf.__version__); print(tf.config.list_physical_devices('GPU'))</code></td><td><code>tensorflow[and-cuda]</code> 패키지는 자체 CUDA/cuDNN(예: 최신 TF의 경우 CUDA 12.3/cuDNN 8.9.7)을 번들로 제공합니다. 시스템의 CUDA 12.9를 직접 사용하지 않고 이를 사용하지만 12.9 호환 드라이버에서 실행됩니다. 정확한 12.9 연결을 위해서는 소스에서 빌드하십시오.</td></tr></tbody></table></figure>
<!-- /wp:table -->

<!-- wp:paragraph -->
<p></p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">IX. 일반적인 문제 해결</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>신중하게 설치하더라도 문제가 발생할 수 있습니다. 이 섹션에서는 일반적인 문제와 기본 문제 해결 단계를 다룹니다.</p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li><strong>NVIDIA 드라이버 문제:</strong><!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li><strong>증상:</strong> <code>nvidia-smi</code> 명령 실패, GPU가 표시되지 않거나 시스템이 저해상도 디스플레이로 부팅됩니다.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>가능한 원인 및 해결 방법:</strong><!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li><strong>Nouveau 충돌:</strong> Nouveau가 블랙리스트에 있는지 확인합니다 (섹션 II.C.4).</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>Secure Boot MOK:</strong> Secure Boot가 활성화된 경우 NVIDIA 드라이버의 MOK가 올바르게 등록되지 않았을 수 있습니다. 재부팅하고 MOK 관리 옵션을 찾거나 Secure Boot를 일시적으로 비활성화합니다.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>설치 오류:</strong> 드라이버 설치 중 오류에 대해 <code>apt</code> 로그(<code>/var/log/apt/term.log</code>) 및 커널 메시지(<code>dmesg | grep -i nvidia</code>)를 확인합니다.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>드라이버 재설치:</strong> 완전히 새로 설치해야 할 수 있습니다. 재설치하기 전에 기존 NVIDIA 패키지를 제거합니다 (<code>sudo apt purge '*nvidia*' &amp;&amp; sudo apt autoremove</code>).</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>"GPU has fallen off the bus":</strong> 이는 하드웨어 문제(GPU 장착, 전원 공급 장치, PCIe 슬롯), 과열 또는 심각한 드라이버/커널 비호환성을 나타낼 수 있는 심각한 오류입니다. 먼저 물리적 연결을 확인하십시오. 소프트웨어 비호환성인 경우 다른 드라이버 버전(이전 또는 최신 안정 버전)을 시도하면 도움이 될 수 있습니다.</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list --></li>
<!-- /wp:list-item --></ul>
<!-- /wp:list --></li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>CUDA Toolkit 문제:</strong><!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li><strong>증상:</strong> <code>nvcc: command not found</code>.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>가능한 원인 및 해결 방법:</strong><!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li><strong>환경 변수:</strong> <code>PATH</code> 및 <code>LD_LIBRARY_PATH</code>가 올바르게 설정되지 않았거나 현재 터미널 세션에서 <code>~/.bashrc</code> 변경 사항이 적용되지 않았습니다 (섹션 IV.B). <code>echo $PATH</code> 및 <code>echo $LD_LIBRARY_PATH</code>로 확인합니다.</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list --></li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>증상:</strong> CUDA 샘플(예: <code>deviceQuery</code>)이 컴파일 또는 실행되지 않습니다.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>가능한 원인 및 해결 방법:</strong><!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li><strong>드라이버-툴킷 불일치:</strong> 리포지토리 설치는 이를 최소화하지만 드라이버가 CUDA 툴킷 버전을 지원하는지 확인합니다.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>누락된 종속성:</strong> <code>build-essential</code> 또는 기타 개발 도구가 누락되었을 수 있습니다.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>잘못된 툴킷 버전:</strong> <code>nvcc --version</code>이 예상과 다른 버전을 표시합니다.</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list --></li>
<!-- /wp:list-item --></ul>
<!-- /wp:list --></li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>cuDNN 문제:</strong><!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li><strong>증상:</strong> AI 프레임워크 또는 애플리케이션에서 누락된 cuDNN 라이브러리(예: <code>libcudnn.so.9: cannot open shared object file</code>)를 보고합니다.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>가능한 원인 및 해결 방법:</strong><!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li><strong>설치 미완료:</strong> cuDNN 런타임(<code>libcudnn9-cuda-12</code>) 또는 개발자 패키지(<code>libcudnn9-dev-cuda-12</code>)가 올바르게 설치되지 않았을 수 있습니다. <code>dpkg -l | grep libcudnn</code>으로 확인합니다.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>라이브러리 경로:</strong> <code>LD_LIBRARY_PATH</code>에 cuDNN 라이브러리가 설치된 디렉터리가 포함되어 있지 않을 수 있습니다 (<code>apt</code>는 일반적으로 시스템 라이브러리 경로를 통해 이를 처리하지만). <code>sudo ldconfig -p | grep libcudnn</code>은 동적 링커가 라이브러리를 찾는지 보여줄 수 있습니다.</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list --></li>
<!-- /wp:list-item --></ul>
<!-- /wp:list --></li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>Docker GPU 액세스 문제:</strong><!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li><strong>증상:</strong> <code>docker run --gpus all...</code>이 NVIDIA 런타임 또는 GPU 액세스와 관련된 오류로 실패합니다.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>가능한 원인 및 해결 방법:</strong><!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li><strong>NVIDIA Container Toolkit:</strong> 설치되지 않았거나 <code>nvidia-ctk runtime configure --runtime=docker</code>가 실행되지 않았거나 구성 후 Docker 데몬이 다시 시작되지 않았습니다 (섹션 VI.C).</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>Docker 데몬:</strong> Docker 서비스가 실행 중이고 구성 변경 후 다시 시작되었는지 확인합니다.</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list --></li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>증상:</strong> 호스트에서는 <code>nvidia-smi</code>가 작동하지만 GPU 지원 컨테이너 내부에서는 작동하지 않습니다.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>가능한 원인 및 해결 방법:</strong><!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li>Docker의 <code>daemon.json</code>에 있는 NVIDIA 런타임 구성 문제.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>잘못된 <code>-gpus</code> 플래그 사용 또는 호환되지 않는 기본 이미지.</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list --></li>
<!-- /wp:list-item --></ul>
<!-- /wp:list --></li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>일반적인 문제 해결 팁:</strong><!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li><strong>시스템 로그 확인:</strong><!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li><code>dmesg</code>: 커널 링 버퍼, 하드웨어 및 모듈 로드 문제에 유용합니다.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><code>journalctl -xe</code>: 자세한 시스템 로그, 종종 서비스 오류를 표시합니다.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><code>/var/log/syslog</code>: 일반 시스템 메시지.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><code>/var/log/nvidia-installer.log</code>: NVIDIA의 <code>.run</code> 파일을 사용하여 드라이버를 설치한 경우 (여기서는 권장하지 않음).</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list --></li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>재부팅:</strong> 중요한 드라이버 또는 커널 모듈 변경 후에는 종종 재부팅이 필수적입니다.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>NVIDIA 개발자 포럼:</strong> 특정 문제에 대한 도움을 받을 수 있는 귀중한 리소스입니다. 시스템, 설치된 소프트웨어 버전 및 오류 메시지에 대한 자세한 정보를 제공하십시오.</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list --></li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:paragraph -->
<p><code>nvidia-smi</code>로 드라이버를 확인하고, <code>nvcc</code> 및 샘플로 CUDA를 확인하고, cuDNN을 확인하고, 마지막으로 Docker를 확인하는 체계적인 접근 방식은 문제가 있을 수 있는 부분을 격리하는 데 도움이 됩니다. 특히 CUDA 및 cuDNN의 많은 문제는 잘못된 환경 변수 설정이나 조정된 리포지토리에서 신중하게 설치하지 않은 경우 구성 요소 버전 간의 불일치로 인해 발생합니다.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p></p>
<!-- /wp:paragraph -->

<!-- wp:heading -->
<h2 class="wp-block-heading">X. 결론 및 모범 사례</h2>
<!-- /wp:heading -->

<!-- wp:paragraph -->
<p>이 보고서는 NVIDIA RTX 6000 Ada 그래픽 카드를 갖춘 Ubuntu 24.04 워크스테이션에서 강력한 AI 개발 환경을 구축하는 과정을 자세히 설명했습니다. 공식 NVIDIA 리포지토리를 사용하여 NVIDIA 드라이버, CUDA Toolkit 12.9 및 해당 cuDNN 라이브러리를 체계적으로 설치함으로써 개발자는 안정적이고 고성능의 기반을 확보할 수 있습니다. 또한 NVIDIA Container Toolkit을 사용한 Docker 구성은 휴대 가능하고 재현 가능한 GPU 가속 워크플로를 가능하게 하며, NVIDIA NIM 소개는 간소화된 AI 모델 배포 경로를 제공합니다.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p><strong>건강한 AI 개발 환경 유지를 위한 주요 모범 사례:</strong></p>
<!-- /wp:paragraph -->

<!-- wp:list {"ordered":true} -->
<ol class="wp-block-list"><!-- wp:list-item -->
<li><strong>공식 리포지토리 활용:</strong> 가능하면 NVIDIA의 공식 <code>apt</code> 리포지토리에서 NVIDIA 드라이버, CUDA Toolkit 및 cuDNN을 설치하십시오. 이 방법은 일반적으로 구성 요소 호환성을 보장하고 업데이트를 단순화합니다.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>버전 고정 (고려 사항):</strong> 프로덕션 또는 중요한 연구 환경의 경우 <code>apt</code> 기본 설정을 사용하여 드라이버 및 CUDA 구성 요소의 버전을 고정하여 기존 워크플로와 비호환성을 유발할 수 있는 의도하지 않은 업그레이드를 방지하는 것을 고려하십시오.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>Python 가상 환경:</strong> AI 프로젝트에는 항상 Python 가상 환경(예: <code>venv</code>, <code>conda</code>)을 사용하십시오. 이렇게 하면 종속성을 격리하여 PyTorch 또는 TensorFlow와 같은 라이브러리의 다른 버전이 필요한 프로젝트 간의 충돌을 방지합니다.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>정기적인 문서 참조:</strong> AI 및 GPU 컴퓨팅 환경은 빠르게 발전합니다. 최신 호환성 정보, 기능 및 모범 사례를 위해 CUDA, cuDNN, 드라이버 및 AI 프레임워크에 대한 공식 NVIDIA 문서를 정기적으로 확인하십시오.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>GPU 사용률 모니터링:</strong> 개발 및 배포 중에 <code>nvidia-smi</code> 또는 NVIDIA Nsight와 같은 도구를 사용하여 GPU 사용률, 메모리 사용량 및 성능을 모니터링하십시오. 이는 병목 현상을 식별하고 GPU 리소스가 효율적으로 사용되고 있는지 확인하는 데 도움이 됩니다.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>NGC API 키 보안:</strong> NVIDIA NIM 또는 기타 NGC 리소스를 사용할 때 NGC API 키를 기밀로 유지하고 안전하게 관리하십시오. 스크립트에 키를 하드코딩하거나 버전 제어에 커밋하지 마십시오.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>체계적인 업데이트:</strong> 중요한 워크스테이션에 적용하기 전에 가능하면 스테이징 환경에서 테스트하여 드라이버 및 CUDA 구성 요소 업데이트를 신중하게 계획하십시오.</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li><strong>커뮤니티 및 지원:</strong> 문제 해결 및 커뮤니티 지원을 위해 NVIDIA 개발자 포럼과 같은 리소스를 활용하십시오.</li>
<!-- /wp:list-item --></ol>
<!-- /wp:list -->

<!-- wp:paragraph -->
<p>이러한 지침과 제공된 자세한 설치 단계를 따르면 사용자는 Ubuntu 24.04에서 최첨단 AI 코딩 및 연구를 위해 NVIDIA RTX 6000 Ada 워크스테이션의 잠재력을 극대화할 수 있습니다.</p>
<!-- /wp:paragraph -->

<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li><a href="https://developer.nvidia.com/cuda-downloads?target_os=Linux&amp;target_arch=x86_64&amp;Distribution=Ubuntu&amp;target_version=24.04&amp;target_type=deb_local">https://developer.nvidia.com/cuda-downloads?target_os=Linux&amp;target_arch=x86_64&amp;Distribution=Ubuntu&amp;target_version=24.04&amp;target_type=deb_local</a></li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:paragraph -->
<p>CUDA Toolkit Installer</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Installation Instructions:</p>
<!-- /wp:paragraph -->

<!-- wp:code -->
<pre class="wp-block-code"><code>wgethttps://developer.download.nvidia.com/compute/cuda/repos/ubuntu2404/x86_64/cuda-ubuntu2404.pin
sudo mv cuda-ubuntu2404.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget https://developer.download.nvidia.com/compute/cuda/12.9.0/local_installers/cuda-repo-ubuntu2404-12-9-local_12.9.0-575.51.03-1_amd64.deb
sudo dpkg -i cuda-repo-ubuntu2404-12-9-local_12.9.0-575.51.03-1_amd64.deb
sudo cp /var/cuda-repo-ubuntu2404-12-9-local/cuda-*-keyring.gpg /usr/share/keyrings/
sudo apt-get update
sudo apt-get -y install cuda-toolkit-12-9

</code></pre>
<!-- /wp:code -->

<!-- wp:paragraph -->
<p>Additional installation options are detailed here.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Driver Installer</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>NVIDIA Driver Instructions (choose one option)</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>To install the open kernel module flavor:</p>
<!-- /wp:paragraph -->

<!-- wp:code -->
<pre class="wp-block-code"><code>sudo apt-get install -y nvidia-open

</code></pre>
<!-- /wp:code -->

<!-- wp:paragraph -->
<p>To install the proprietary kernel module flavor:</p>
<!-- /wp:paragraph -->

<!-- wp:code -->
<pre class="wp-block-code"><code>sudo apt-get install -y cuda-drivers

</code></pre>
<!-- /wp:code -->

<!-- wp:paragraph -->
<p>To switch between NVIDIA Driver kernel module flavors see here.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>The CUDA Toolkit contains Open-Source Software. The source code can be found here. The checksums for the installer and patches can be found in Installer Checksums. For further information, see the Installation Guide for Linux and the CUDA Quick Start Guide.</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>Ubuntu 20.04/22.04/24.04, Debian 12</p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p>To switch from proprietary to open:</p>
<!-- /wp:paragraph -->

<!-- wp:code -->
<pre class="wp-block-code"><code># apt install --autoremove --purge nvidia-open

</code></pre>
<!-- /wp:code -->

<!-- wp:paragraph -->
<p>￼ To switch from open to proprietary:</p>
<!-- /wp:paragraph -->

<!-- wp:code -->
<pre class="wp-block-code"><code># apt install --autoremove --purge cuda-drivers

</code></pre>
<!-- /wp:code -->

<!-- wp:paragraph -->
<p></p>
<!-- /wp:paragraph -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading">참고자료</h3>
<!-- /wp:heading -->

<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li><a href="https://velog.io/@scuderia/리눅스-24.04-cuda-cudnn-설치">https://velog.io/@scuderia/리눅스-24.04-cuda-cudnn-설치</a></li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li><a href="https://developer.nvidia.com/cuda-downloads?target_os=Linux&amp;target_arch=x86_64&amp;Distribution=Ubuntu&amp;target_version=24.04&amp;target_type=deb_network">https://developer.nvidia.com/cuda-downloads?target_os=Linux&amp;target_arch=x86_64&amp;Distribution=Ubuntu&amp;target_version=24.04&amp;target_type=deb_network</a></li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li>nividia driver 설치</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>sudo apt install nvidia-cuda-toolkit</li>
<!-- /wp:list-item -->

<!-- wp:list-item -->
<li>llama-cpp-python version available for CUDA 11.7.</li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading"><strong>cuda</strong></h3>
<!-- /wp:heading -->

<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li><a href="https://www.cherryservers.com/blog/install-cuda-ubuntu">https://www.cherryservers.com/blog/install-cuda-ubuntu</a></li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li><a href="https://developer.nvidia.com/cuda-12-2-2-download-archive?target_os=Linux&amp;target_arch=x86_64&amp;Distribution=Ubuntu&amp;target_version=22.04&amp;target_type=deb_local">https://developer.nvidia.com/cuda-12-2-2-download-archive?target_os=Linux&amp;target_arch=x86_64&amp;Distribution=Ubuntu&amp;target_version=22.04&amp;target_type=deb_local</a></li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading"><strong>Nvidia NIM</strong></h3>
<!-- /wp:heading -->

<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li><a href="https://docs.nvidia.com/nim/large-language-models/latest/getting-started.html">https://docs.nvidia.com/nim/large-language-models/latest/getting-started.html</a></li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li><a href="https://linuxconfig.org/how-to-install-the-nvidia-drivers-on-ubuntu-22-04">https://linuxconfig.org/how-to-install-the-nvidia-drivers-on-ubuntu-22-04</a></li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:heading {"level":3} -->
<h3 class="wp-block-heading"><strong>nvidia GPU on Docker</strong></h3>
<!-- /wp:heading -->

<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li><a href="https://www.howtogeek.com/devops/how-to-use-an-nvidia-gpu-with-docker-containers">https://www.howtogeek.com/devops/how-to-use-an-nvidia-gpu-with-docker-containers</a></li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li><a href="https://www.cyberciti.biz/faq/how-to-install-nvidia-driver-on-centos-7-linux">https://www.cyberciti.biz/faq/how-to-install-nvidia-driver-on-centos-7-linux</a></li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:list -->
<ul class="wp-block-list"><!-- wp:list-item -->
<li><a href="https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html#rhel-7-centos-7">https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html#rhel-7-centos-7</a></li>
<!-- /wp:list-item --></ul>
<!-- /wp:list -->

<!-- wp:paragraph -->
<p></p>
<!-- /wp:paragraph -->

<!-- wp:paragraph -->
<p></p>
<!-- /wp:paragraph -->