Об этом проекте
OpenDLSS-NR — это основанная на Vulkan реимплементация нейросети DLSS 5 Neural Rendering от NVIDIA, обеспечивающая битовую точность результатов по сравнению с оригиналом. Реализована та же архитектура из 71 блока Swin/ViT (как в сборке 310.8.0) с использованием активаций FP8 (E4M3) и накопления FP16 на тензорных ядрах GPU. В отличие от апскейлеров, это генеративная нейросеть рендеринга: она принимает кадр того же разрешения, что и выход, и воспроизводит детали из инжектированного шума, корректируя тон, структуру и стиль.
Проект также включает независимый порт на WebGPU (`ports/browser-webgpu/`), который запускает ту же сеть в браузере без тензорных ядер и FP8, обеспечивая битовую точность промежуточных результатов на всех 75 границах блоков.
Хост-код написан на C++20, GLSL-ядра используются для справочного маршрута (кооперативные матричные FP8 GEMM), а Python-генерируемые PTX-ядра — для оптимизированного быстрого маршрута (с использованием `mma.sync` E4M3, колец `cp.async`, барьер-фри цепочек и split-K GEMM). Демо-приложение, построенное на модифицированной версии рендерера Filament от Google, демонстрирует работу сети на нескольких сценах glTF.
Производительность на RTX 4070 SUPER: 2,8 мс при 768×768, 7,8 мс при 1920×1080, 12,6 мс при 2560×1440 и 29,3 мс при 3840×2160. WebGPU порт работает со скоростью 72 мс при 512×512.
Требования: Windows, видеокарта NVIDIA Ada (или новее) с определёнными расширениями Vulkan, Visual Studio 2022+, Python 3, Node.js + npm. Репозиторий не содержит весов или ПО NVIDIA — пользователь должен самостоятельно предоставить директорию с моделями. Проект распространяется по лицензии MIT и не аффилирован с NVIDIA.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.