ZLUDA 6 출시: 비 NVIDIA GPU에서 수정되지 않은 CUDA 애플리케이션 실행하기

ZLUDA 6 출시: 비 NVIDIA GPU에서 수정되지 않은 CUDA 애플리케이션 실행하기

ZLUDA 6는 CUDA 호출을 다른 API로 변환하여 수정되지 않은 CUDA 애플리케이션을 비 NVIDIA GPU에서 실행할 수 있게 합니다. 이번 출시는 호환성 측면에서 상당한 진전을 나타내며, 특히 레거시 게임 물리 엔진 및 전문 3D 렌더링 소프트웨어에 대한 지원을 확장합니다.

PhysX 프리알파 지원

ZLUDA는 이제 32비트 PhysX에 대한 프리알파 지원을 포함합니다(PR #651을 통해). 이를 통해 AMD GPU 사용자가 NVIDIA의 독점 물리 엔진에 의존하는 오래된 게임을 실행할 수 있습니다. 이를 통해 이전에는 NVIDIA 하드웨어 전용이었던 파편이나 불꽃과 같은 시각 효과를 활성화하고 더 높은 프레임 레이트를 확보할 수 있습니다.

이 기능은 프리알파 단계이므로 다음과 같은 제한 사항이 적용됩니다:

  • 유체 시뮬레이션이 불안정할 수 있습니다.
  • Steam 게임에 ZLUDA를 로드하는 방식이 현재 최적화되어 있지 않습니다.
  • 프리뷰 빌드에 대한 완전한 통합은 PR 병합을 기다리는 중입니다.

Blender 및 텍스처 지원

ZLUDA는 기본적인 텍스처 지원을 구현했습니다(PR #625). 현재 구현은 몇 가지 사용 사례로 제한되어 있지만, ZLUDA에서 Blender가 작동하도록 하는 데는 충분합니다. 이러한 확장은 Blender와 PhysX 모두 비 NVIDIA 하드웨어에서 작동하기 위해 필요한 텍스처 관련 CUDA 호출을 활용할 수 있도록 보장합니다.

Windows 호환성 개선

Windows 지원이 더욱 사용자 친화적으로 업그레이드되어 Linux와 Windows 설치 간의 역사적인 격차를 해소했습니다. 주요 개선 사항은 ZLUDA가 성능 라이브러리(cuBLAS 및 cuDNN 등)를 처리하는 방식입니다.

주요 업데이트 사항은 다음과 같습니다:

  • 자동 라이브러리 로딩: zluda.exe 로더가 이제 성능 라이브러리를 자동으로 처리하므로 사용자가 수동으로 플래그를 전달할할 필요가 없습니다.
  • 개선된 오류 보고: ZLUDA는 이제 필요한 라이브러리가 누락되었을 경우 사용자에게 명시적으로 알리고 설치 방법을 안내합니다(PR #612).

머신러닝(ML) 강화

ZLUDA는 PyTorch 호환성 및 일반적인 ML 성능을 개선하기 위해 지속적인 업데이트를 받았습니다. 이러한 업데이트는 사용자가 제출한 트레이스를 기반으로 하며 다음을 포함합니다:

  • 새로운 명령어: PR #599, #605, #607, #609, #642, #644, 및 #629를 통해 추가되었습니다.
  • 컴파일러 버그 수정: PR #583, #588, #585, #596, #610, #601, 및 #603에서 해결되었습니다.
  • 성능 라이브러리 최적화: PR #587, #615, #619, #620, #621, 및 #624에서 개선되었습니다.

프로젝트 상태 및 개발 방향

ZLUDA는 더 이상 상업적으로 지원되지 않으며 개인 사이드 프로젝트로 돌아갔습니다. 따라서 개발 로드맵은 상업적 생존 가능성에서 개발자가 재미있다고 느끼는 기능으로 전환되었습니다. 이는 최근 PhysX, 텍스처, Windows 사용성 개선에 집중하는 이유를 설명합니다. 업데이트는 분기별로 한 번보다 적은 빈도로 출시될 가능성이 높지만, 개발은 계속됩니다.

Sources