Nvidia RTX Voice nepotřebuje reálně tensor jádra Turingu, s modem jde i na GeForce GTX

23. 4. 2020

Sdílet

O víkendu jsme informovali o vydání beta berze software Nvidia RTX Voice, který poskytuje filtry pro odstranění šumu a hluku ze zvuku (zejména z mikrofonního vstupu) například pro použití při videokonferencích, ale také pro populární streamování videa z her na internet. Tento filtr je založený na trénované neuronové síti a RTX Voice se oficiálně tváří, že používá tzv. tensor jádra v grafikách Nvidia a že jde tedy o funkci umožněnou touto specialitou GPU Turing. Nvidia uvádí, že pro provoz potřebujete grafiku GeForce RTX. Ovšem zdá se, že toto není pravda – uživatelům se podařilo program rozběhat i na grafikách GeForce GTX, včetně těch starší generace, takže možná tensor jádra vůbec nepoužívá a „požadavek“ je čistě umělý.  

Nvidia (ne)RTX Voice?

Že RTX Voice ve skutečnosti nevyžaduje grafiku GeForce RTX ani GPU Turing, odhalil uživatel na fóru Guru3D. Instalátor RTX Voice neumožní pokračovat, pokud chcete na „nepodporované“ GPU software nainstalovat, ale toto omezení je snadné „hacknout“. Stačí rozbalit archiv instalátoru a v dočasné složce se soubory zeditovat soubor RTXVoice.nvi, v němž se odstraněním tří řádků (podrobnosti/návod viz níže) deaktivuje ono omezení. Ručním spuštěním Setup.exe se pak dá RTX Voice normálně nainstalovat.

Uživatel David Luke nejprve zkusil filtrování použít na Titanu V, kde normálně fungovalo. Nicméně to by nemuselo být divné, protože jeho architektura Volta sice nemá RT jádra, ale tensor jádra, které by údajně RTX Voice mělo používat, ano. Ovšem poté další uživatelé potvrdili, že úplně stejně to s tímto „hackem“ (nebo spíš modem) pak funguje i na grafikách GeForce GTX 1600, což jsou Turingy fyzicky postrádající tensor jádra. A také na grafikách GTX 1000, tedy architektuře Pascal. Například web ComputerBase má pro demonstraci na webu ukázku originálního zvuku a zvuku přefiltrovaného pomocí karty GeForce GTX 1060 (takže si také můžete poslechnout efekt, pokud nemáte příležitost přímo filtr RTX Voice vyzkoušet).

Toto ovšem znamená, že RTX Voice nemůže být exkluzivně vyžadovat ona tensor jádra, jinak by běžet nemohl. Mělo by tedy jít o standardní GPGPU program. To, že používá neuronovou síť na věci nic nemění, inference neuronových sítí se dá normálně spouštět na běžných shaderech (nebo i na CPU), rozdíl je jenom ve výkonu. Toho ale mají i levné GeForce GTX zdá se na tuto úlohu dost.

Nvidia RTX Voice na GeForce GTX 1060 zdroj ComputerBase Nvidia RTX Voice na GeForce GTX 1060 (Zdroj: ComputerBase)

Vypadá to, že Nvidia použila označení „RTX“ hlavně pro větší marketingový efekt. A požadavek na grafiku GeForce RTX byl možná přidán do instalátoru uměle, aby tato novinka podpořila zájem zákazníků o grafiky řady RTX 2000 vůči nižším modelům anebo kartám konkurence.

Jak instalovat RTX Voice na systém s kartou GeForce GTX

After executing the installer and getting the message that stops it installing the installer files are extracted to C:\temp\NVRTXVoice

Open the file C:\temp\NVRTXVoice\NvAFX\RTXVoice.nvi with a text editor and remove the "constraints" section that looks like this:



with that section deleted save the file and execute the installer here: C:\temp\NVRTXVoice\setup.exe

(Zdroj: David Luke, Fórum Guru3D)

Jsou tensor jádra použitá, nebo ne?

Na tuto otázku zatím není odpověď. Jak přesně ve skutečnosti (ne)RTX Voice funguje, nevíme. Ale jsou zde asi v zásadě dvě možnosti. Buď má program dvě větve, kdy jedna má neuronovou síť a potřebné binárky zkompilované tak, aby využívaly tensor jádra, ale zároveň je přítomná druhá větev, zkompilovaná na běh na normálních shaderech. A pokud program detekuje, že běží na GeForce GTX, automaticky přepne na tuto verzi kódu. Nvidia ale možná po naprogramování tohoto záložního aparátu usoudila, že běh na GTX nepovolí, ať už jsou důvody jakékoli (možná, že by při použití během hraní byly nějaké měřitelné propady výkonu, kdežto u verze na tensor jádrech by byly nižší – ale zase toto by asi při telekonferencích a volání vůbec nevadilo).

Druhá možnost je, že tensor jádra program ve skutečnosti nikdy nepoužíval a i na RTX grafikách byly vždy aktivní jenom obecné výpočetní jednotky (shadery). Důvod, proč Nvidia softwarově omezila RTX Voice jenom na grafiky řady RTX by pak asi byl čistě obchodní. Tedy tzv. „segmentace“, kdy se některé funkce povolí jenom na dražším produktu, aby se podpořily jeho prodeje a zvýšily tržby/zisky. Něco jako když je SMT/HT vypnuté na levnějších procesorech AMD/Intelu.

ICTS24

Ti z vás, kdo v anketě u předchozího článku uvedli, že by se dostupnost tohoto OPU-akcelerovaného filtru hodila i na levnějších kartách, tedy teď mohou mít radost. Bohužel se asi může stát, že v dalších verzích bude požadavek na „RTX“ zadrátován hlouběji a nebude takto snadné ho obejít. Pro tuto eventualitu si asi raději instalátor současné „zranitelné“ verze někam zazálohujte, pokud filtr chcete používat dlouhodobě.

Zdroje: Fórum Guru3D, ComputerBase

Galerie: Nvidia RTX Voice