# NVIDIA, 오픈소스 Linux GPU 커널 모듈로 완전 전환

> Clean Markdown view of GeekNews topic #15892. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=15892](https://news.hada.io/topic?id=15892)
- GeekNews Markdown: [https://news.hada.io/topic/15892.md](https://news.hada.io/topic/15892.md)
- Type: GN+
- Author: [neo](https://news.hada.io/@neo)
- Published: 2024-07-18T09:54:45+09:00
- Updated: 2024-07-18T09:54:45+09:00
- Original source: [developer.nvidia.com](https://developer.nvidia.com/blog/nvidia-transitions-fully-towards-open-source-gpu-kernel-modules/)
- Points: 11
- Comments: 4

## Summary

NVIDIA가 리눅스 GPU 커널 모듈을 오픈 소스로 전환하면서 사용자와 개발자는 드라이버 문제를 더 쉽게 디버깅하고 해결할 수 있게 되었습니다. 이 전환은 HPC, AI, 기계 학습 등 다양한 분야에서 더 많은 유연성과 투명성을 제공하며, 특히 기업 환경에서 보안과 안정성에 대한 우려를 해소하는 데 도움이 됩니다. GPU 컴퓨팅 분야에서의 경쟁을 심화시켜 혁신을 가속화할 것으로 기대됩니다.

## Topic Body

* NVIDIA는 2022년 5월 R515 드라이버로 GPL과 MIT 듀얼 라이센스로 리눅스 GPU 커널 모듈을 오픈 소스로 공개함  
* 당시 데이터센터 컴퓨팅 GPU를 대상으로 했고 GeForce, Workstation GPU는 알파 상태였음   
* 이후 릴리즈에서 더 강력하고 완전한 기능의 GeForce와 Workstation 리눅스 지원이 제공될 것이며, NVIDIA 오픈 커널 모듈이 궁극적으로 폐쇄형 드라이버를 대체할 것이라고 발표함  
* 2년이 지난 지금, 오픈 소스 GPU 커널 모듈로 동등하거나 더 나은 애플리케이션 성능을 달성하고 다음과 같은 상당한 새로운 기능을 추가함:  
  - 이기종 메모리 관리(HMM) 지원  
  - 기밀 컴퓨팅  
  - Grace 플랫폼의 일관된 메모리 아키텍처  
  - 기타 등등  
* 이제 오픈 소스 GPU 커널 모듈로 완전히 전환하는 것이 적절한 시점이며, 다가오는 R560 드라이버 릴리스에서 이러한 변화를 적용할 예정임  
  
### 지원되는 GPU  
  
* 모든 GPU가 오픈 소스 GPU 커널 모듈과 호환되는 것은 아님  
* NVIDIA Grace Hopper나 NVIDIA Blackwell 같은 최신 플랫폼은 반드시 오픈 소스 GPU 커널 모듈을 사용해야 하며 이들 플랫폼에서 독점 드라이버는 지원되지 않음  
* Turing, Ampere, Ada Lovelace, Hopper 아키텍처의 신형 GPU는 오픈 소스 GPU 커널 모듈로 전환하는 것이 권장됨   
* Maxwell, Pascal, Volta 아키텍처의 구형 GPU는 오픈 소스 GPU 커널 모듈과 호환되지 않으므로 계속 NVIDIA 독점 드라이버 사용  
* 동일한 시스템에서 구형과 신형 GPU가 혼재된 배포의 경우 독점 드라이버 계속 사용  
* NVIDIA는 어떤 드라이버를 선택해야 할지 안내해 주는 새로운 감지 도우미 스크립트를 제공함. 자세한 내용은 이 포스트 뒷부분의 "설치 도우미 스크립트 사용" 섹션 참조  
  
### 설치 프로그램 변경 사항  
  
* 일반적으로 모든 설치 방법에 의해 설치되는 드라이버의 기본 버전이 독점 드라이버에서 오픈 소스 드라이버로 전환되고 있음. 특별한 주의가 필요한 몇 가지 특정 시나리오가 있음:  
  - CUDA 메타패키지가 포함된 패키지 매니저   
  - 실행 파일  
  - 설치 도우미 스크립트  
  - 패키지 매니저 세부 정보  
  - Windows 서브시스템 for Linux  
  - CUDA 툴킷  
  
##### CUDA 메타패키지가 포함된 패키지 매니저 사용  
  
* 패키지 매니저(run 파일이 아님)를 사용하여 CUDA 툴킷을 설치할 때 설치 메타패키지가 존재하며 일반적으로 사용됨. 최상위 `cuda` 패키지를 설치하면 CUDA 툴킷과 연결된 드라이버 릴리스가 조합되어 설치됨.  
  
##### 실행 파일 사용  
  
* CUDA 또는 NVIDIA 드라이버를 `.run` 파일을 사용하여 설치하는 경우 설치 프로그램이 하드웨어를 쿼리하고 시스템에 가장 적합한 드라이버를 자동으로 설치함. UI 토글을 사용하여 독점 드라이버와 오픈 소스 드라이버 중에서 선택할 수도 있음.  
  
##### 설치 도우미 스크립트 사용  
  
* 앞서 언급한 대로 시스템의 GPU에 어떤 드라이버를 선택해야 할지 확실하지 않은 경우 NVIDIA가 선택 과정을 안내하는 도우미 스크립트를 만듦.   
* 사용하려면, 먼저 `nvidia-driver-assistant` 패키지를 패키지 매니저로 설치한 다음 스크립트를 실행하면 됨  
  
##### 패키지 매니저 세부 사항  
  
* 일관된 경험을 위해 NVIDIA는 CUDA 툴킷과 드라이버를 설치할 때 패키지 매니저를 사용할 것을 권장함. 그러나 다양한 배포판에서 사용되는 특정 패키지 관리 시스템이나 패키지 구조는 특정 배포판에 따라 다를 수 있음.  
* 이 섹션에서는 다양한 플랫폼에 필요한 구체적인 세부 사항, 주의 사항 또는 마이그레이션 단계를 설명함.  
  
##### Windows 서브시스템 for Linux  
  
* Windows 서브시스템 for Linux(WSL)는 호스트 Windows 운영 체제의 NVIDIA 커널 드라이버를 사용함. 이 플랫폼에 특정 드라이버를 설치해서는 안 됨. WSL을 사용하는 경우 변경이나 조치가 필요하지 않음.  
  
##### CUDA 툴킷  
  
* CUDA 툴킷의 설치는 패키지 매니저를 통해 변경되지 않음. 다음 명령을 실행하면 됨:  
  
```  
$ sudo apt-get/dnf/zypper install cuda-toolkit  
```  
  
### 더 많은 정보  
  
* NVIDIA 드라이버 또는 CUDA 툴킷 설치 방법에 대한 자세한 내용은 CUDA 설치 가이드의 "드라이버 설치" 섹션을 참조  
  
### GN⁺의 의견  
  
* NVIDIA가 GPU 커널 모듈을 오픈 소스로 제공하는 것은 GPU 컴퓨팅 생태계에 매우 긍정적인 변화임. 이를 통해 사용자와 개발자는 NVIDIA GPU 드라이버와 관련된 문제를 보다 쉽게 디버깅하고 해결할 수 있게 됨.  
  
* 오픈 소스 전환으로 HPC, AI, 기계 학습 등의 분야에서 NVIDIA GPU를 활용하는 사용자들에게 더 많은 유연성과 투명성이 제공될 것임. 특히 기업 환경에서 NVIDIA GPU 솔루션 도입 시 보안과 안정성에 대한 우려를 해소하는 데 도움이 될 것임.  
  
* 다만 오픈 소스 전환 과정에서 기존 독점 드라이버 기반 애플리케이션과의 호환성 문제가 발생할 수 있음. NVIDIA는 이에 대한 명확한 가이드라인과 마이그레이션 경로를 제시해야 할 것임.  
  
* AMD의 ROCm과 같은 경쟁 오픈 소스 GPU 컴퓨팅 플랫폼과의 비교도 흥미로운 주제가 될 수 있음. NVIDIA의 오픈 소스 전환으로 GPU 컴퓨팅 분야에서의 경쟁이 심화될 것으로 예상됨.  
  
* 앞으로 NVIDIA가 커뮤니티의 기여를 적극적으로 수용하고, 오픈 소스 GPU 커널 모듈의 성능과 안정성을 지속적으로 개선해 나가기를 기대함. 이는 GPU 컴퓨팅의 대중화와 혁신을 가속화하는 데 기여할 것임.

## Comments



### Comment 27363

- Author: bbulbum
- Created: 2024-07-18T15:18:38+09:00
- Points: 1

리누스 토발즈: 엔비디아! 땡! 큐!

### Comment 27373

- Author: halfenif
- Created: 2024-07-19T07:26:54+09:00
- Points: 1
- Parent comment: 27363
- Depth: 1

강력한 한마디.. F*ck..!

### Comment 27364

- Author: bbulbum
- Created: 2024-07-18T15:18:45+09:00
- Points: 1
- Parent comment: 27363
- Depth: 1

가 될수도 ㅎㅎ

### Comment 27348

- Author: neo
- Created: 2024-07-18T09:54:45+09:00
- Points: 2

###### [Hacker News 의견](https://news.ycombinator.com/item?id=40988954) 
- 몇 년 전 Nvidia가 심각한 해킹을 당한 기억이 있음
  - 해커들이 드라이버를 오픈 소스로 만들지 않으면 모든 데이터를 공개하겠다고 협박했음
  - 아마도 해커들이 원하는 것을 얻었을 가능성이 있음

- Nvidia의 커널 모듈은 두 가지 구성 요소로 나뉨
  - 운영 체제에 독립적인 "OS-agnostic" 구성 요소
  - Linux 커널 버전 및 구성에 특정한 "kernel interface layer" 구성 요소
  - Nvidia .run 설치 패키지에 포함될 때, OS-agnostic 구성 요소는 바이너리로 제공됨

- Nvidia에서 Sway와 Wayland 사용이 너무 어려워서 AMD로 전환했음
  - 주요 문제는 이제 해결된 gitlab.freedesktop.org의 이슈였음

- 현재 Linux에서 Nvidia 드라이버 상황이 어떤지 궁금함
  - 새로운 데스크탑을 AMD GPU로 구축했음
  - 폐쇄형 소스나 부족한/구식 오픈 소스 드라이버의 문제를 피하고 싶었음

- Nvidia가 완전히 오픈 소스 GPU 커널 모듈로 전환함
  - 또는 Nvidia가 완전히 오픈 소스 GPU 커널 모듈로 전환 중임

- 이 변화가 Linux에서 Nvidia 드라이버 설치/업그레이드를 더 쉽게 만들기를 바람
  - 드라이버, 유틸리티, 컨테이너 런타임 간의 버전 불일치를 해결하는 것이 악몽이었음

- tarball을 던져주고 "가져와!"라고 말하는 것은 의미가 없음
  - 실제로 업스트림 커널에 드라이버를 기여하기 전까지는 AMD를 구매할 것임

- 세부 사항을 꼼꼼히 읽는 회의적인 사람으로서, 이것은 좋은 움직임이라고 생각함
  - Nvidia의 독점 문화가 강화될 가능성을 제외하고는 단점이 보이지 않음

- Linus가 카메라를 보고 Nvidia에 손가락 욕을 했던 때를 기억함
  - 이제 그 시간이 지났는지, 화해할 때가 되었는지, 여전히 문제가 있는지 궁금함

- 커널 모듈만이라도 무언가를 제공한 것은 의미가 있음
  - 하지만 아마도 업스트림에 기여되지 않을 것임
