9P by neo 1달전 | favorite | 댓글 1개
  • 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와 유사한 기능을 제공함
Hacker News 의견
  • 오픈 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 하드웨어에 묶이지 않은 것이 필요함