프로젝트 소개
OpenDLSS-NR는 NVIDIA의 DLSS 5 뉴럴 렌더링 네트워크를 Vulkan 기반으로 재구현한 것으로, 원본과 비트 일치가 보장됩니다. 동일한 71블록 Swin/ViT 아키텍처(build 310.8.0 기준)를 FP8(E4M3) 활성화와 FP16 누적으로 GPU tensor core에서 구현합니다. 업스케일러와 달리 생성형 뉴럴 렌더링 네트워크로, 출력과 동일한 해상도의 프레임을 입력받아 주입된 노이즈에서 디테일을 재생성하며 톤, 구조, 스타일을 조정합니다.
프로젝트에는 독립적인 WebGPU 포트(`ports/browser-webgpu/`)도 포함되어 있어 tensor core나 FP8 없이 브라우저에서 동일 네트워크를 실행하며, 모든 75개 블록 경계에서 비트 일치 중간 결과를 달성합니다.
호스트 코드는 C++20으로 작성되었으며, 참조 경로는 GLSL 커널(협력 행렬 FP8 GEMM), 최적화/fast 경로는 Python 생성 PTX 커널(`mma.sync` E4M3, `cp.async` 링, 장벽 없는 체이닝, split-K GEMM 사용)을 사용합니다. Google Filament 렌더러 수정버전 기반 데모 앱은 여러 glTF 씬으로 네트워크를 시연합니다.
RTX 4070 SUPER 기준 성능: 768×768에서 2.8ms, 1920×1080에서 7.8ms, 2560×1440에서 12.6ms, 3840×2160에서 29.3ms. WebGPU 포트는 512×512에서 72ms입니다.
필수 환경: Windows, 특정 Vulkan 확장을 지원하는 NVIDIA Ada 이상 GPU, Visual Studio 2022+, Python 3, Node.js + npm. 저장소에는 NVIDIA 가중치나 소프트웨어가 포함되지 않으며, 사용자는 자체 모델 디렉토리를 제공해야 합니다. MIT 라이선스이며, NVIDIA와 무관합니다.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.