- ZLUDA 3는 CUDA에 묶여 있던 NVIDIA GPU용 애플리케이션을 AMD GPU에서 수정 없이 실행하려는 오픈소스 기술임
- Intel GPU용 CUDA 대체 구현으로 시작했지만 Intel과 AMD의 평가가 중단되면서, 이번에는 AMD GPU 대상 코드가 공개됨
- Blender에서는 네이티브 HIP 백엔드와 비슷한 성능 사례가 있으나, 3DF Zephyr와 RealityCapture는 ZLUDA에서 “much slower”로 표시돼 앱별 편차가 큼
- RealityCapture와 Arnold 같은 NVIDIA 전용 CG 앱 실행 가능성이 확인됐지만, OptiX 지원은 Linux에서 최소 수준에 머물러 렌더링 워크플로에는 제약이 있음
- Intel·AMD의 지원이 없는 상태에서 프로젝트는 “realistically now abandoned”에 가깝고, NVIDIA SDK 라이선스도 비-NVIDIA 플랫폼용 변환 계층 개발을 제한함
ZLUDA 3가 풀려는 CUDA 종속 문제
- ZLUDA 3는 NVIDIA GPU용으로 만들어진 GPU 기반 애플리케이션을 다른 제조사 하드웨어에서 실행하게 하는 오픈소스 프로젝트임
- 기존 애플리케이션을 수정 없이 새 하드웨어에서 실행하도록 설계돼, 앱 개발자의 추가 포팅 작업을 요구하지 않음
- ZLUDA는 2020년 Intel GPU용 CUDA 드롭인 대체 구현으로 처음 공개됐고, 2021년 버전 2 이후 개발 지속이 어려워짐
- Andrzej Janik이 Intel 재직 중이던 2021년, Intel은 ZLUDA를 공식 기술 후보로 평가했지만 “Intel GPU에서 CUDA 애플리케이션을 실행할 비즈니스 케이스가 없다”고 판단함
- Janik은 2022년 Intel을 떠난 뒤 AMD에 접근했고, AMD도 2년간 ZLUDA를 평가했지만 더 진행하지 않기로 함
- 이후 업데이트된 코드가 오픈소스로 공개됐으며, 관련 배경은 Phoronix 기사에서 더 자세히 볼 수 있음
CG 앱에서 확인된 동작 범위
- ZLUDA 3는 NVIDIA의 CUDA API로 개발된 GPU 앱을 AMD GPU에서 실행하는 것을 목표로 함
- VFX, 모션 그래픽, 시각화 분야에서는 일부 핵심 CG 앱과 렌더러가 CUDA 기반이라 사실상 NVIDIA 전용으로 남아 있는 경우가 있음
- AMD의 HIP는 CUDA 앱을 AMD 하드웨어로 포팅하는 기술이지만, 소프트웨어 개발자의 작업이 필요함
- Janik이 ZLUDA로 테스트한 NVIDIA 전용 소프트웨어에는 3DF Zephyr, RealityCapture, Autodesk Arnold가 포함됨
- Arnold 지원은 개념 증명 수준이며, ZLUDA의 OptiX 구현으로 성공적으로 렌더링된 장면은 제한적임
성능과 호환성의 현실적 한계
- Janik은 CUDA 앱이 AMD GPU에서 “near-native performance”로 실행된다고 평가함
- Phoronix 벤치마크와 Blender Artists 포럼의 스레드에 따르면, Blender에서는 ZLUDA 성능이 네이티브 HIP 백엔드와 비슷한 사례가 있음
- 반면 ZLUDA GitHub 저장소는 3DF Zephyr와 RealityCapture를 ZLUDA에서 much slower로 표시함
- 많은 GPU 렌더러는 레이 트레이싱 가속을 위해 CUDA 외에 NVIDIA OptiX도 함께 사용함
- ZLUDA의 OptiX 지원은 “minimum” 수준임
- OptiX 지원은 Linux에만 있고 Windows에는 없음
- 구현 상태는 “buggy, unoptimized and incomplete”임
- ZLUDA-OptiX는 재배포 버전에 포함되지 않아 직접 빌드해야 함
- 다른 CUDA 기반 CG 앱의 실행 가능성은 사용자 테스트 없이는 판단하기 어려움
- 알려진 이슈가 남아 있음
- V-Ray benchmark는 일부 “lucky”한 구버전 ZLUDA와 HIP 조합에서 실행됨
- OctaneBench는 전혀 실행되지 않음
프로젝트 지속성과 라이선스 제약
- Janik은 Intel이나 AMD의 지원이 없으면 ZLUDA가 “realistically now abandoned” 상태라고 봄
- 프로젝트를 진전시킬 제안에는 열려 있음
- 그렇지 않으면 DLSS처럼 개인적으로 관심 있는 NVIDIA 기술 지원만 추가할 가능성이 큼
- 현재 코드도 CUDA에서 HIP로 점진적 포팅을 진행하는 소프트웨어 개발자에게 활용될 수 있음
- 2024년 3월 14일 업데이트에 따르면, Tom’s Hardware는 NVIDIA SDK 라이선스 조건이 CUDA Toolkit을 포함한 SDK 산출물을 비-NVIDIA 플랫폼 대상 변환 기술 개발에 쓰는 것을 금지한다고 짚음
- ZLUDA 3의 컴파일된 버전은 Windows와 Linux용으로 제공되며, 소스 코드는 Apache 2.0 또는 MIT license로 제공됨
- ZLUDA 3 다운로드는 프로젝트 GitHub 저장소에서 가능함