# LibreCuda - 독점 런타임없이 Nvidia GPU에서 CUDA 코드를 실행

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

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=16238](https://news.hada.io/topic?id=16238)
- GeekNews Markdown: [https://news.hada.io/topic/16238.md](https://news.hada.io/topic/16238.md)
- Type: GN+
- Author: [neo](https://news.hada.io/@neo)
- Published: 2024-08-09T10:03:22+09:00
- Updated: 2024-08-09T10:03:22+09:00
- Original source: [github.com/mikex86](https://github.com/mikex86/LibreCuda)
- Points: 9
- Comments: 1

## Summary

독점적인 CUDA 런타임 없이 Nvidia GPU에서 CUDA 코드를 실행할 수 있게 해줍니다. 이 프로젝트는 GPU 메모리 관리와 CUDA ELF 바이너리 업로드 및 실행을 지원하며, MIT 라이선스로 제공됩니다. 현재는 기본적인 기능만 구현되어 있지만, 향후 발전 가능성이 큽니다.

## Topic Body

- CUDA 드라이버 API를 대체하여 독점적인 CUDA 런타임에 의존하지 않고도 Nvidia GPU에서 CUDA 코드를 실행할 수 있도록 하는 것을 목표로 하는 프로젝트  
- ioctls(특히 Nvidia의 오픈 GPU 커널 모듈에서 rmapi라고 부르는 것)와 Nvidia의 MMIO 명령 대기열 구조인 QMD를 통해 하드웨어와 직접 통신함  
- CUDA ELF 바이너리를 GPU에 업로드하고 명령 대기열을 통해 실행할 수 있음   
- 현재 기능   
  - GPU 메모리 할당 및 해제 및 CPU가 액세스할 수 있도록 메모리 매핑  
  - CUDA ELF 바이너리를 GPU에 업로드할 수 있음  
  - 명령 큐를 통해 CUDA 커널 실행  
- MIT 라이선스   
  
### GN⁺의 정리  
- LibreCUDA는 독점적인 CUDA 런타임 없이 Nvidia GPU에서 CUDA 코드를 실행할 수 있게 해주는 프로젝트임  
- 현재는 기본적인 기능만 구현되어 있으며, 실사용 준비가 되지 않음  
- 비슷한 기능을 가진 프로젝트로는 ROCm이 있으며, AMD GPU에서 CUDA와 유사한 기능을 제공함

## Comments



### Comment 27880

- Author: neo
- Created: 2024-08-09T10:03:22+09:00
- Points: 1

###### [Hacker News 의견](https://news.ycombinator.com/item?id=41194024) 
- 오픈 CUDA의 목적은 NVIDIA GPU가 아닌 다른 GPU에서도 실행할 수 있게 하는 것임
  - NVIDIA GPU를 구매해야 한다면 의미가 없음
  - 진정한 경쟁이 있다면 더 많은 VRAM을 가진 장치를 쉽게 구매할 수 있을 것임
  - 언젠가 로컬에서 Llama 405b를 실행할 수 있을 것임

- CUDA에 대한 경험이 제한적이지만, 이것이 다양한 ML 라이브러리(예: TensorFlow, ONNX) 실행 시 발생하는 CUDA/CUDNN 종속성 버전 문제를 해결하는 데 도움이 될지 궁금함

- 매우 좋음
  - 이것이 내가 CUDA 런타임에서 원하는 전부임
  - LLVM libc 유닛 테스트를 실행할 수 있을 것임
  - 이는 동일한 직접 시스템 호출 접근 방식을 사용하는 AMD 라이브러리를 정당화할 수 있음

- CUDA에 의존하는 프로젝트가 플랫폼 자유를 얻기 위해 LibreCUDA에서 HiP로 이동하는 것이 첫 번째 단계가 되어야 함

- CUDA ELF 파일이 무엇인지 궁금함
  - 바이너리 SASS 코드인지, 오픈 소스 PTXAS 대안이 필요한지 궁금함

- CUDA 초보자에게 이것이 어떤 문제를 해결하는지 궁금함

- CUDA Libre라고 부를 기회를 놓친 것 같음

- 여전히 독점적인 NVIDIA 그래픽 드라이버를 실행해야 하는지, 아니면 완전히 무관한지 궁금함

- 저자들이 상표 침해 통지에 대해 생각하기 시작해야 함

- ZLUDA가 AMD의 요청으로 중단된 이후, CUDA 종속성을 깨는 일반적인 방법으로 ZLUDA 대체품이 필요함
  - NVIDIA 하드웨어에 묶이지 않은 것이 필요함
