AW: Raytracing in Spielen: Beschleunigung durch Prozessor soll möglich sein
Es ist mir bisher noch immer komplett schleierhaft, wie das funktionieren soll.
Andererseits ist es, wie es Nvidia umgesetzt hat, extrem suboptimal. Werden die Tensor Cores nicht genutzt, ist viel Die-Fläche komplett nutzlos. Man muss also viel mehr Chip bezahlen, als man tatsächlich nutzt.
Und bis auf Echtzeit-Raytracing sehe ich leider auch keinen Anwendungsfall, wo diese Tensor Cores irgendwie für Privatpersonen nützlich sein könnten.
Es wäre sehr schön, wenn AMD irgendeine bessere Lösung dafür fände, als so viel Die zu verschwenden. Durch das Infinity Fabric müsste es aber langfristig immerhin kein Problem darstellen, eine schnelle Kommunikation zwischen GPU und CPU herzustellen.
Edit: Es wäre auch besonders schön, wenn man FP32 zum Berechnen benutzen könnte, da das Raytracing von Nvidia aktuell qualitativ nicht besonders scharf ist...
Spezifiziere mal was viel Die-Fläche für dich darstellen? 5%, 10%, 15%, 20%, 50%?
Tensor Cores können in sehr vielen Bereichen vorkommen, als aktuell prominentest Beispiel treffen Denoising-Algorithmen für RayTracing auf oder das ausführen von trainierten AI-Netzwerken für die Kantenglättung.
Und im Prinzip könntest du viele unterschiedliche AI-Netzwerke berechnen lassen, z.B. für NPC-Systeme in Spielen.
Es gibt übrigens bald auch einen DX-Standard dazu, welcher auf hardwarespezifische Funktionen fußen kann, DirectML.
Rein was die Zukunft angeht wird der Konsument sehr viel AI-Zeug in der Zukunft haben, es gibt auch soviele Bildbearbeitungsalgorithmen die dank AI-Netzwerken praktisch Magie rausspucken, bei der Rekonstruktion oder Schärfung von Bildinhalten.
Viele Handy-SoC haben mittlerweile dedizierte Prozessoren, die sich um die AI-Beschleunigung kümmern und für unterschiedliche Anwendungsfälle ausgenutzt werden.
Aus Marktperspektive ist die Integration in die Produkte aber wichtig, für Privatpersonen könntest du wohl kaum AI-Prozessoren oder Raytracing-Beschleunigungskarten separat verkaufen und eine Marktrelevanz erwarten.
In der ein oder anderen Form muss das integriert werden und entsprechend die Fläche dafür bezahlt werden, egal wie die Implementierung genau aussieht.
Und die Qualität bei den Raytracing-Ergebnissen hängt von der Menge an Rays ab, welche man berechnen kann, sind es zu wenige gibt es Bildrauschen, dass hat aber nichts mit der Präzision der Berechnung zu tun, du hast genau so Bildrauschen mit FP32.
Hier können Denoising-Algorithmen sehr helfen, die Bildqualität zu erhöhen, wofür Nvidia auch Algorithmen anbietet, welche über Tensor-Cores beschleunigt werden.
DICE hat aber z.B. bei BFV hat einen eigenen Algorithmus verwendet, welcher über die normalen Shader-Cores läuft, wird dann vermutlich mehr Zeit benötigen, spart aber immer noch massiv Leistung, anstatt die erforderliche Menge an Rays direkt zu berechnen.
"Hervorragend" ganz sicher nicht. Es hat einen Grund, warum CPU-PhysX deutlich simpler als vollwertiges PhysX für GPUs ist. Die Performance ist auch heute alles andere als toll, wenn die CPU in die Presche springt. Kannst in Batman Arkham Knight ja mal PhysX per CPU erzwingen ...
Das kommt auf den Simulationstyp an, CPU-PhysX wird pro Jahr bei hunderten Spielen verwendet und für einige Algorithmen eignen sich GPUs nicht, weswegen das lieber auf den CPUs berechnet wird.
Andersherum gibt es natürlich Dinge, die sich sehr für eine GPU anbieten und wo dann eine CPU nicht mehr mithalten kann.