· kaynak Hacker News – Front Page (native)
OpenDLSS-NR, NVIDIA'ın DLSS 5 sinirsel render'ını Vulkan'da, orijinaliyle bit bit aynı olacak şekilde yeniden inşa ediyor
Bir açık kaynak projesi, DLSS 5 sinirsel render ağını Vulkan'da ve ayrıca WebGPU'da yeniden uyguladı ve NVIDIA'ın orijinaliyle her blok sınırında bayt bayt eşleşme elde etti.
DLSS 5'in sinirsel renderer'ının bayt bayt yeniden inşası
OpenDLSS-NR adlı açık kaynak bir proje, NVIDIA'ın DLSS 5 sinirsel render'ının arkasındaki sinir ağını Vulkan'da yeniden uyguladı ve nadir görülen bir şey iddia ediyor: orijinaliyle bit düzeyinde tam eşleşme. 1 Ekim 2026'da Hacker News'in ana sayfasına ulaşan proje README'sine göre kod, DLSS-NR build 310.8.0 ile aynı 71 bloklu Swin/ViT ağını yeniden üretiyor ve tensor çekirdeklerinde FP8 üzerinde çalışıyor. Eşleşme iç kısımlara kadar uzanıyor: yalnızca son görüntü değil, 75 blok sınırının tamamı bayt bayt örtüşüyor.
Depoda iki bağımsız uygulama var. Native yol, bir C++20 Vulkan host'unu GLSL kernel'larıyla eşleştiriyor ve ayrıca üretilmiş PTX'ten oluşturulmuş daha hızlı bir yol sunuyor. ports/browser-webgpu/ altındaki ikinci uygulama, aynı ağı tensor çekirdeği, FP8 ve bloklar arası fusion olmadan tarayıcıda çalıştırıyor — ve yine de aynı capture'lara karşı aynı baytları üretiyor; 512x512'de kare başına 72 ms sürüyor, native yolda ise 2.7 ms. README'ye göre çıkarılacak ders, bu eşleşmenin altta yatan donanımdan değil, hesaplamayı kesin biçimde tanımlamaktan gelmesidir.
Ağ gerçekte ne yapıyor
README'nin ısrarla belirttiği bir netleştirme var: DLSS-NR bir upscaler değil. Girdi ve çıktı çözünürlükleri aynı. NVIDIA'nın terimiyle bu üretken (generative) bir sinirsel render ağı — motorun zaten çizdiği kareyi yeniden render ediyor, enjekte edilen gürültüden ayrıntı türetiyor ve bir stil ayarına göre tonu, yapıyı ve ten rengini değiştiriyor. Mimari, tabanında global bir ViT bulunan shifted-window transformer bloklarından oluşan bir U-net: altı pooling seviyesine yayılmış 71 blok, FP16 birikimli FP8 (E4M3) aktivasyonlar ve 141 MiB ağırlık. Kare başına, render edilmiş görüntünün low-dynamic-range bir vekilini, üç kanal Gauss gürültüsünü, önceki karenin reprojeksiyon çıktısını ve beş koşullandırma skalerini alıyor ve piksel başına dört f32 kanalı çıkarıyor: bir RGB artı (residual) ve bir temporal-blend logit'i. NVIDIA, modeli DLSS 5: Generative Neural Rendering raporunda belgeliyor.
Ağırlıklar dahil değil
Proje hiçbir ağırlık dağıtmıyor. Kullanıcılar bir model dizini sağlıyor — aşamaların ve tensor'ların bir manifest'i, E4M3 ağırlıkları paketlenmiş baytlar olarak — ve yükleyici, build 310.8.0'ın 71 bloklu grafiğiyle tam olarak örtüşmeyen her şeyi reddediyor. Parite, NVIDIA'ın orijinalinden kaydedilmiş capture'lardan oluşan ve depoya dahil edilmeyen fixture'larla denetleniyor. Bir parity komutu bu fixture'lara göre kapılanıyor; bir verify komutu 0 numaralı bloğu kernel kernel ikiye bölüyor. Kararlar katı: çıktının yalnızca sıfırın işaretine kadar eşit olması başarısızlık sayılıyor, 8-bit capture'lar bir kod aralığında geçebilir, geri kalan her şey uyuşmazlıktır. Fixture'lar GPU çalışmadan önce doğrulanıyor ve referansı olmadan bir kontrol bildiren ya da karşılaştırılabilir bir sınırı referans ve açıklama olmadan bırakan her fixture reddediliyor.
Performans ve gereksinimler
Bir RTX 4070 SUPER üzerinde, ağ tamamı kare başına ve her çözünürlükte 241 dispatch ile çalıştırıldığında, proje 40 kare üzerinden minimum süreleri şu şekilde raporluyor: 768x768'de 2.8 ms, 1920x1080'de 7.8 ms, 2560x1440'de 12.6 ms ve 3840x2160'da 29.3 ms. README, minima'ların karşılaştırılmasını öneriyor çünkü GPU sürekli yük altında iki clock durumu arasında geçiş yapıyor ve bu da medyanları birkaç yüzde yukarı itiyor. Hızlı yol üretilmiş PTX'e dayanıyor — f16 birikimli mma.sync E4M3, cp.async ring'leri, cihaz sayaçları üzerinden barrier'siz zincirleme ve split-K GEMM'ler — GLSL cooperative-matrix kernel'ları ise kendi başlarına eksiksiz bir referans yol oluşturuyor. Gereksinimler dar: Windows, NVIDIA Ada veya daha yeni bir GPU, VK_KHR_cooperative_matrix, VK_NV_cooperative_matrix2, VK_EXT_shader_float8 ve VK_NV_cuda_kernel_launch sunan bir sürücü ve Visual Studio 2022. Bir demo, ağı yamalanmış bir Filament renderer'ına gömüyor; nesne başına motion vector'ler ve bir Vulkan interop hook'u ekliyor, glTF sahne yükleme de mevcut.
Neler dışarıda bırakıldı
Upscaling ağı olan DLSS-SR uygulanmadı; o farklı bir model. Temporal yol yalnızca demo'da mevcut; orada history girdi hatları ve piksel başına blend logit'i reprojeksiyonlu bir geri besleme döngüsünü sürüyor. Komut satırı aracı history olmadan tek kareler çalıştırıyor; referans capture'lar da böyle üretildi.
Neden önemli
Satışta olan üretici sinir ağlarının sadık yeniden uygulamaları yaygın değil; her blok sınırında bit düzeyinde doğrulananlar — ekran görüntülerine bakarak değil — daha da nadir. OpenDLSS-NR, donanıma sıkı sıkıya bağlı bir inference yığınının açık API'lerle kanıtlanabilir sayısal pariteyle yeniden inşa edilebileceğini gösteriyor ve WebGPU port'u argümanı daha da ileri taşıyor: aynı baytlar tensor çekirdeği donanımı olmadan bir tarayıcıdan çıkabiliyorsa, ağın davranışı fiilen diğer uygulamaların ve üreticilerin hedefleyebileceği taşınabilir bir belirtim haline gelmiş demektir. Uyarılar gerçek — ağırlık dağıtılmıyor, hızlı yol Windows üzerinde güncel NVIDIA silikonu gerektiriyor ve insanların DLSS adıyla ilişkilendirdiği upscaler yok. Ancak DLSS 5 sınıfı sinirsel render'ın orijinal yığını dışında belirtilebileceğini, taşınabileceğini ve denetlenebileceğini bir kanıt olarak bu gerçek bir dönüm noktası.
- #open-source
- #vulkan
- #nvidia
- #graphics
- #machine-learning
- #webgpu