LibreCuda
독점 런타임없이 Nvidia GPU에서 CUDA 코드를 실행
Features
- CUDA 드라이버 API를 대체하여 독점적인 CUDA 런타임에 의존하지 않고도 Nvidia GPU에서 CUDA 코드를 실행할 수 있도록 하는 것을 목표로 하는 프로젝트
- ioctls(특히 Nvidia의 오픈 GPU 커널 모듈에서 rmapi라고 부르는 것)와 Nvidia의 MMIO 명령 대기열 구조인 QMD를 통해 하드웨어와 직접 통신함
- CUDA ELF 바이너리를 GPU에 업로드하고 명령 대기열을 통해 실행할 수 있음
- 현재 기능
- GPU 메모리 할당 및 해제 및 CPU가 액세스할 수 있도록 메모리 매핑
- CUDA ELF 바이너리를 GPU에 업로드할 수 있음
- 명령 큐를 통해 CUDA 커널 실행
GN⁺의 정리
- LibreCUDA는 독점적인 CUDA 런타임 없이 Nvidia GPU에서 CUDA 코드를 실행할 수 있게 해주는 프로젝트임
- 현재는 기본적인 기능만 구현되어 있으며, 실사용 준비가 되지 않음
- 비슷한 기능을 가진 프로젝트로는 ROCm이 있으며, AMD GPU에서 CUDA와 유사한 기능을 제공함
Hacker News 의견
- LibreCUDA – Launch CUDA code on Nvidia GPUs without the proprietary runtime | Hacker News
- 오픈 CUDA의 목적은 NVIDIA GPU가 아닌 다른 GPU에서도 실행할 수 있게 하는 것임
- NVIDIA GPU를 구매해야 한다면 의미가 없음
- 진정한 경쟁이 있다면 더 많은 VRAM을 가진 장치를 쉽게 구매할 수 있을 것임
- 언젠가 로컬에서 Llama 405b를 실행할 수 있을 것임
- 이것이 내가 CUDA 런타임에서 원하는 전부임
- LLVM libc 유닛 테스트를 실행할 수 있을 것임
- 이는 동일한 직접 시스템 호출 접근 방식을 사용하는 AMD 라이브러리를 정당화할 수 있음
- 바이너리 SASS 코드인지, 오픈 소스 PTXAS 대안이 필요한지 궁금함
- NVIDIA 하드웨어에 묶이지 않은 것이 필요함
See also
- Nvidia GPU
- CUDA