NVIDIA, 오픈 소스 GPU 커널 모듈 출시

Reading Time: 4 minutes

NVIDIA는 이제 R515 드라이버 릴리스를 시작으로 듀얼 GPL/MIT 라이선스를 탑재한 Linux GPU 커널 모듈을 오픈 소스로 퍼블리싱하고 있습니다. 이러한 커널 모듈의 소스 코드는 NVIDIA/open-gpu-kernel-modules GitHub 페이지에서 찾을 수 있습니다.

이 릴리스는 Linux에서 NVIDIA GPU 사용 경험 향상을 위한 중요한 단계로, OS와의 보다 긴밀한 통합을 제공하며 개발자가 디버깅, 통합 후 다시 기여하도록 지원합니다. Linux 배포 제공업체의 경우 오픈 소스 모듈로 사용 편의성을 높일 수 있습니다. 또한 NVIDIA GPU 드라이버에 서명하고 배포하는 즉시 사용할 수 있는 사용자 환경을 개선합니다.Canonical 및 SUSE는 Ubuntu 및 SUSE Linux 엔터프라이즈 배포판으로 오픈 커널 모듈을 즉시 패키지화할 수 있습니다. 

코드 경로를 추적할 수 있으며, 커널 이벤트 스케줄링이 워크로드와 상호 작용하여 더 빠른 근본 원인 디버깅을 수행하는 방법을 확인할 수 있습니다. 또한 엔터프라이즈 소프트웨어 개발자는 이제 드라이버를 프로젝트에 맞게 구성된 맞춤형 Linux 커널에 원활하게 통합할 수 있습니다.

이는 Linux 최종 사용자 커뮤니티의 입력 및 리뷰를 통해 NVIDIA GPU 드라이버 품질 및 보안을 개선하는 데 도움이 됩니다.

새로운 드라이버가 릴리스될 때마다 NVIDIA는 소스 코드의 스냅샷을 NVIDIA/open-gpu-kernel-modules GitHub 페이지에 게시합니다. 커뮤니티에서 제출한 패치가 검토되고 승인되면 향후 드라이버 릴리스에 통합됩니다. 

자세한 내용은 NVIDIA 기여 지침과 드라이버 릴리스 케이던스 및 라이프사이클 개요 문서를 참조하세요.

지원되는 기능

오픈 GPU 커널 모듈의 첫 릴리스는 R515입니다. 소스 코드와 함께 완전히 빌드되고 패키지화된 드라이버 버전이 제공됩니다.

NVIDIA Turing 및 NVIDIA Ampere 아키텍처 제품군의 데이터센터 GPU의 경우, 이 코드는 정식으로 사용 가능합니다. 이는 지난 1년 동안 GSP 드라이버 아키텍처를 단계적으로 도입한 결과 가능했으며, NVIDIA 고객이 쉽게 전환할 수 있도록 설계되었습니다. NVIDIA는 독점적인 커널 모드 드라이버로 기능과 동등한 성능을 보장하기 위해 다양한 워크로드 전반에서 테스트하는 데 주력했습니다.

향후 HMM과 같은 기능은 NVIDIA Hopper 아키텍처에서의 기 컴퓨팅을 위한 기본 구성 요소가 될 것입니다.

이 오픈 소스 릴리스에서 GeForce 및 워크스테이션 GPU에 대한 지원은 알파 품질입니다. GeForce 및 워크스테이션 사용자는 NVIDIA Turing 및 NVIDIA Ampere 아키텍처 GPU에서 이 드라이버를 사용하여 Linux 데스크톱을 실행하고 Vulkan 및 NVIDIA OptiX에서 다중 디스플레이, G-SYNC, NVIDIA RTX 레이 트레이싱과 같은 기능을 사용할 수 있습니다.

커널 모듈 매개변수 NVreg_OpenRmEnableUnsupportedGpus=1를 사용하여 선택할 수 있습니다. 더 견고하고 완전한 기능을 갖춘 GeForce 및 워크스테이션 지원이 추후 출시될 예정이며 NVIDIA 오픈 커널 모듈은 결국 클로즈 소스 드라이버를 대체할 것입니다. 

NVIDIA Turing 및 NVIDIA Ampere 아키텍처 GPU를 구매한 고객은 설치할 모듈을 선택할 수 있습니다. Turing 이전 고객은 클로즈 소스 모듈을 계속 실행합니다.

오픈 소스 커널 모드 드라이버는 CUDA, OpenGL 및 Vulkan과 같은 동일한 펌웨어 및 동일한 사용자 모드 스택에서 작동합니다. 하지만 드라이버 스택의 모든 구성 요소는 릴리스 내의 버전과 일치해야 합니다. 예를 들어 소스 코드의 릴리스를 가져와서 이전 또는 이후 릴리스의 사용자 모드 스택으로 빌드하고 실행할 수 없습니다. 

적합한 버전을 설치하고 추가적인 문제를 해결하는 단계에 대한 자세한 내용은 드라이버 README를 참조하세요.

설치 옵트-인

R515 릴리스에는 클로즈 소스 드라이버와 오픈 소스 커널 모듈의 사전 컴파일된 버전이 모두 포함되어 있습니다. 이 두 버전은 서로 배타적이며 설치 시 원하는 버전을 선택할 수 있습니다. 기본 옵션은 자동 설치가 NVIDIA Turing+ GPU에 비해 NVIDIA Volta 및 이전 GPU에 가장 적합한 경로를 선택하게 합니다.

소스 코드에서 커널 모듈을 빌드하고 관련 사용자 모드 드라이버와 함께 설치할 수 있습니다.

그림 1. 오픈 GPU 커널 모듈을 선택하기 위한 설치 옵션과 클로즈 소스 모듈의 기본 경로

파트너 에코시스템

NVIDIA는 서로의 고객을 위한 더 나은 패키징, 배포 및 지원 모델을 위해 Canonical, Red Hat 및 SUSE와 협력하고 있습니다.

Canonical

“새로운 NVIDIA 오픈 소스 GPU 커널 모듈은 AI/ML 개발자든, 게이머든 클라우드 사용자든 관계없이 Ubuntu 사용자를 위한 설치를 단순화하고 보안을 강화할 것입니다.” “개발자를 위한 가장 인기 있는 Linux 기반 운영 체제인 Ubuntu의 제조업체로서 이제 Ubuntu의 NVIDIA GPU와의 더 긴밀한 통합을 통해 AI 및 ML의 최첨단 분야에서 작업하는 개발자에게 훨씬 더 나은 지원을 제공할 수 있습니다.”

앞으로 몇 달 안에 NVIDIA 오픈 GPU 커널 모듈이 최근 출시된 Canonical Ubuntu 22.04 LTS에 도입될 예정입니다.

SUSE

“SUSE는 NVIDIA가 GPU 커널 모드 드라이버를 오픈 소스로 출시하게 되어 매우 기쁩니다. 이는 오픈 소스 커뮤니티와 가속 컴퓨팅에 진정한 이정표입니다. SUSE는 6월에 SUSE Linux Enterprise 15 SP4로 이러한 혁신을 제공하는 최초의 주요 Linux 배포판이 될 수 있어 자랑스럽습니다. NVIDIA와 SUSE는 함께 클라우드, 데이터센터 및 엣지 전반에서 GPU 가속 컴퓨팅 요구 사항을 지원하는 안전한 소프트웨어 공급망과 탁월한 지원을 제공합니다.” — Markus Noga, General Manager, Business Critical Linux at SUSE

Red Hat

“엔터프라이즈 오픈 소스는 Red Hat이 항상 옹호해 온 혁신을 촉진하고 고객의 경험을 향상할 수 있습니다. GPU 커널 드라이버를 오픈 소스로 한 NVIDIA의 결정에 박수를 보냅니다. Red Hat은 수년 동안 NVIDIA와 협업해 왔으며, NVIDIA가 다음 단계로 나아가는 것을 보게 되어 기쁩니다. Red Hat은 이러한 기능을 고객에게 제공하고 NVIDIA 하드웨어와의 상호 운용성을 개선하기를 기대합니다.” — Mike McGrath, Vice President, Linux Engineering at Red Hat

업스트림 접근 방식

NVIDIA GPU 드라이버는 NVIDIA가 지원되는 모든 플랫폼에서 일관된 경험을 제공할 수 있도록, 운영 체제, GPU 및 Jetson SOC 전반에 걸쳐 코드를 공유하도록 수년에 걸쳐 설계되었습니다. 현재 코드베이스는 Linux 커널 설계 규칙에 부합하지 않으며 Linux 업스트림의 후보가 아닙니다.

Linux 커널 커뮤니티와 Canonical, Red Hat, SUSE 등 파트너와 함께 업스트림 접근 방식을 사용할 계획입니다. 

한편, 게시된 소스 코드는 Nouveau 드라이버를 개선하는 데 도움이 되는 참조 역할을 합니다. Nouveau는 NVIDIA 드라이버가 사용하는 것과 동일한 펌웨어를 활용하여 클럭 관리 및 열 관리와 같은 많은 GPU 기능을 노출하고 트리 내 Nouveau 드라이버에 새로운 기능을 제공합니다.

GitHub에서의 향후 드라이버 릴리스 및 협업에 대한 추가 개발 소식에 계속 관심을 가져 주세요. 

자주 묻는 질문

R515 드라이버는 어디에서 다운로드할 수 있나요?

R515 개발 드라이버를 CUDA 툴킷 11.7의 일부로 다운로드하거나 ‘베타’ 드라이버의 드라이버 다운로드 페이지에서 다운로드할 수 있습니다. R515 데이터센터 드라이버에서는 일반적인 케이던스에 따라 추후 릴리스가 뒤따를 것입니다.

오픈 GPU 커널 모듈을 분산할 수 있나요?

예, NVIDIA 오픈 커널 모듈은 듀얼 GPL/MIT 라이선스에 따라 라이선스가 부여되며 라이선스 약관은 배포 및 재포장 보조금에 적용됩니다. 

CUDA 같은 사용자 모드 드라이버의 소스가 게시되나요?

이러한 변경 사항은 커널 모듈에 대한 것이며 사용자 모드 구성 요소는 수정되지 않았습니다. 사용자 모드는 클로즈 소스로 유지되며 드라이버와 CUDA 툴킷에 미리 구축된 바이너리와 함께 게시됩니다.

오픈 GPU 커널 모듈이 지원하는 GPU는 무엇인가요?

오픈 커널 모듈은 모든 NVIDIA Ampere 및 Turing 아키텍처 GPU를 지원합니다. 데이터센터 GPU는 정식 지원되며 GeForce 및 워크스테이션 GPU에 대한 지원은 알파 품질입니다. 자세한 내용은 데이터센터, NVIDIA RTX 및 GeForce CUDA GPU 제품 테이블(NVIDIA Turing 및 그 이상의 GPU는 컴퓨팅 성능이 7.5 이상)을 참조하세요.

버그는 어떻게 신고하나요?

문제가 발생할 경우 GitHub 리포지토리 문제 추적기 또는 기존 최종 사용자 지원 포럼을 통해 신고할 수 있습니다. GitHub 리포지토리 보안 정책에 나열된 채널을 통해 보안 문제를 신고하세요.

패치 제출 프로세스와 패치를 위한 SLA/CLA는 어떻게 되나요?

GitHub 페이지에서 풀 요청을 통한 커뮤니티 제출을 권장합니다. 제출한 패치는 검토 후 승인되면 향후 드라이버 릴리스에 적용될 가능성이 있는 수정 사항과 통합됩니다. 자세한 내용은 NVIDIA 드라이버 수명 주기 문서를 참조하세요.

게시된 소스 코드는 공유 코드베이스에서 생성된 스냅샷이므로 기여가 GitHub 리포지토리에 별도의 Git 커밋으로 반영되지 않을 수 있습니다. NVIDIA는 커뮤니티 기여를 인정하는 프로세스를 개발하고 있습니다. 또한 코드를 동일한 대폭 다시 포맷하지 않기를 권장합니다.

풀 요청을 제출하는 프로세스는 NVIDIA/open-gpu-kernel-modules GitHub 페이지에 설명되어 있으며, 그러한 기여는 기여자 라이선스 계약에 따라 적용됩니다.

자세한 내용은 개방형 GPU 커널 모듈 NVIDIA/open-gpu-kernel-modules GitHub 페이지를 참조하세요.

Discuss (0)

Tags

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 항목은 *(으)로 표시합니다