OpenDLSS: A Vulkan Reimplementation of Nvidia's DLSS 5 Neural Rendering Network
OpenDLSS-NR — это Vulkan-реализация нейросети DLSS 5 Neural Rendering от NVIDIA, бит-в-бит идентичная оригиналу. Она воспроизводит ту же архитектуру: U-Net из 71 блока Swin/Vit-трансформеров с глобальным ViT внизу, работающий в FP8 (E4M3) с FP16 накоплением, используя 141 МБ весов. Это генеративная нейросетевая отрисовка (Neural Rendering), которая не увеличивает разрешение, а улучшает уже отрисованный кадр: добавляет детали из шума, корректирует тон, структуру и кожу под стилем, принимая на вход текущий кадр (LDR-прокси), три канала гауссовского шума, репроецированный предыдущий вывод и пять скалярных условий, выдавая RGB-резидуал и логит временного смешивания. Все промежуточные результаты на 75 границах блоков совпадают с оригиналом байт в байт.
Есть независимый порт в браузере через WebGPU (ports/browser-webgpu/), который воспроизводит те же байты без tensor-ядер и FP8 — чисто на шейдерах. Для запуска нужны собственные веса в указанной структуре каталога. Сборка выполняется через PowerShell-скрипты: установка инструментов, сборка шейдеров и PTX, сборка демо на базе Filament. Демонстрация позволяет выбирать сцены из build\scenes и управлять через view.json. Производительность на RTX 4070 SUPER: от 2.8 мс при 768×768 до 29.3 мс при 3840×2160 (241 диспатч на кадр). Доступны переменные окружения для тонкой настройки: маска цепочки экспертов (DLSS5VK_CHAIN_MASK), порог отложенного слияния GEMM (DLSS5VK_DEFER_MAX), валидация и отладка. Проект лицензирован под MIT, не связан с NVIDIA и не предоставляет веса — пользователь отвечает за их законное получение и использование. Полная документация по сети, нумерации, исполнению и кадровому буферу находится в папке docs/.