News VRAM-Nutzung um bis zu 96 Prozent gesenkt: Nvidia beeindruckt mit Techdemo

Mich interessieren die technischen Hintergründe.
Bildkompression ist Grundlagenforschung für den gesamten IT-Bereich und Texturkompression nur ein kleiner Anwendungsfall.
Ich kann mir nicht vorstellen, dass hier noch bahnbrechende Verbesserungen passieren.
Mit JPEG lassen sich Bilder auch um 90% kompimieren.

Worauf beziehen sich die 96% Kompressionrate?
Wie verlustbehaftet ist das Ergebnis?

Oder werden hier Details gespart, die dann eine KI wieder hineininterpretiert?
Oder geht es um prozedural generierte Texturen, wie wir sie von 64kb Farbrausch Coder Demos kennen?
Ungeöffnet ist es komprimiert ja.

Die Bilder die die Grafikkarte bearbeitet sind aber nicht komprimiert wie auch sie müssen ja für die Berechnung geöffnet sein. Irgendein System auf der Karte muss die Aufgabe dafür übernehmen und hätte mehr Arbeit.
 
AMD Hetzern könnte dieses Thema zu Kopf steigen. Toll wie Nvidia immer wieder neue sinnvoller Sachen entwickelt, währenddessen AMD im Dornrösschenschlaf liegt.

Intelligente Ressourcenschonung als dummes Feature darstellen. Gratuliere Fanboy. Würde AMD so etwas bringen, würdest du dich freuen mhm? :D Bildungsresistenz oder was ist das hier?

Eigentlich springe ich nicht auf so platte offensive Raige-bait Kommentare an, bei Leuten mit einem frischen (Wegwerf?)Account der durch seine bisherigen Kommentare durch und durch Grün ist und wohl eher nur für Stimmung sorgen möchte. Aber hey, dementsprechend deutet auch alles darauf hin das du es vllt einfach nicht besser weißt und nicht so die große Erfahrung in deinem Hobby hast.


Im Rahmen der ganzen Kommentare und bildungsfernen User freut es mich darauf hinzuweisen das AMD so ein Feature bereits genau so besitzt wie Nvidia. Nichts zu danken :)
 
Also kommt die 6080 dann mit 2GB VRAM?

Schwer zu glauben, dass die Speicherbandbreite ein Flaschenhals ist, dafür skaliert gerade die 5090 nicht so richtig gut mit verdoppelte Speicherbandbreite.

Der Infinitycache bei den Radeons und der massiv vergrösserte L2-Cache bei Ada halfen viel.
Wenn dadurch aber die Cachegrösse nicht mehr so gross ausfallen muss, bleibt mehr Platz für andere Rechenwerke oder alternativ potenziell kosteneffizientere GPUs, da neben geringerem Platzbedarf für Rechenleistung auch langsamere Speicher verbaut werden könnte.

Der Traum eines wohl unverdrossen Optimisten was Nvidias Großzüggigkeit betrifft. Träumen darf man immer Nur kommt leider nach dem Aufwachen dann auch der harte Roundhouse RealitätsKick voll durch. Und nur der gute Chuck kann dann noch mit einem breiten lächeln in der Realität Aufwachen. Denn nur er kann auch im Traum die echte Realität besiegen.:nicken:

:bier:

Nein ich bin nicht optimistisch diesbezüglich, da NV seit vielen Jahren das Ganze hintertreibt.
Nur sind, teils nach Verzögerungen, Standards für Upscaling und Raytracing, etc. auch drin, oder werden eingearbeitet. Siehe bsw. DXR. Die DXR-Implementation dann bsw. in Guardians of the Galaxy finde ich auch sehr gelungen.

Wer sich aber nicht an die Standards hält und vorpreschend was eigenes zusammenbastelt, ist natürlich immer schneller. Das funktioniert aber nur, wenn ordentlich Marktmacht existiert und mit Geld das Zeug dann auch kräftig in die Entwicklerstudios reingedrückt wird. So wie AMD mit TruForm vorging, die ersten Implementation von Tessellation auf der Hardwareseite verfügbar machen, und dann gefühlt 1 Spiel (Serious Sam) damit ausstatten zu lassen, klappt das dann halt nicht. Daher, es hat Vor- und Nachteile in NVidias vorgehen.

In dem Sinne hätte ich gerne, die Konzerne würden wieder dahin zurückfinden, indem gemeinsam neue Standards geschaffen werden, auf deren Basis sie ihre Hardware dann bauen, so dass es für Entwicklerstudios wegen der generellen Verfügbarkeit in der Hardware auch so attraktiv ist, von sich aus neue Features in die Spiele einzubauen. Das hat nichts mit Optimismus zu tun, auch wenn es ein Wunsch ist.
 
Zuletzt bearbeitet:
Interessante Technik. Da bin ich mal gespannt.
Interessant ist diese Technik auf jeden Fall, gleichzeitig zeigt die Technik allerdings auch, dass man gewisse Kompromisse bereit sein muss.

Im Studium hatten wir in einer Vorlesung damals eine Dreick als Grafik, in welche Richtungen man einen Algorithmus hin optimieren kann und was das dann für die anderen Aspekte bedeutet und genau das wird auch hier sichtbar.

Man spart hier VRAM - erst einmal gut - im Gegenzug wiederum steigt die Belastung auf die GPU, da diese mehr arbeiten muss, in dem Fall sind das hier die Tensorkerne.
Bei einer Kompression auf 4% mittels AI, also ziemlich harter Interpolation, dürfte es ein sehr fieses Ghosting und Artefakte geben...
Nicht unbedingt. Es kommt hier darauf an, wie das KI-Modell trainiert wurde und was die Kompression bedeutet. Wichtig ist hier die Zuverlässigkeit, dass aus den Daten am Ende die gleichen Daten raus kommen.
Eigentlich müsste man nur mal SamplerFeedback tatsächlich nutzen.(x)
Nicht nur SamplerFeedback, auch DirectStorage.
Intelligente Ressourcenschonung als dummes Feature darstellen.
Also, wenn man sich die Informationen hier so ansieht - also das was bisher bekannt ist - dann wird eine Ressource durch eine andere Ressource ersetzt. VRAM-Platzbedarf wird durch Tensor-Rechenleistung ersetzt.

Da das hier auch nur eine Demo ist und erst mal nur ein Wert "interessierte", kann man das alles auch nur bedingt wirklich in Relation setzen. Es deutet sich bereits an, dass sehr viel über die Tensor-Kerne läuft und daher DLSS hier zum Beispiel nicht mehr viel bringt.

Es wäre hier interessant, weitere Messwerte zu sehen, zum Beispiel wie viel Energie die GPU hier benötigt mit und ohne dieses Feature und wie die FPS werte entsprechend auch sind.

Also ohne NTC den Energiebedarf sowie die FPS Werte und das ganze auch mit den entsprechenden Werten. Es zeigt sich ja bereits, das NTC auf die Framerate geht.
Ich finde es gut das Nvidia interessiert ist den VRAM bedarf zu senken.
Die Frage ist halt, zu welchem Preis. Wenn durch NTC die FPS sinken, gleichzeitig aber auch der Energiebedarf der GPU wächst, weil bestimmte Rechenwerke quasi unter Dauerbelastung stehen, dann hat man nicht so viel gewonnen.

Mit den nun auch aufkommenden Neural-Shaders und Co, wird es interessant werden, was da alles über die gleichen Kerne will und wie sich das ganze am Ende auswirkt.
Ein riesiges Fass als Speicher mit nur einen kleinen Loch zum befüllen und entnehmen ist nun mal nicht effektiver als ein kleines Fässchen mit dem selben kleinen Loch.
Unpassender, weil auch zu kurz gedachter Vergleich an dieser Stelle.
Mit mehr Speicher muss auch die Anbindung wachsen und dem sind nun mal Grenzen gesetzt.
Nein, genau das ist eben nicht der Fall an dieser Stelle. Die größe des VRAMs hat keinen Einfluss auf die benötigte Bandbreite.

Die benötige Größe des VRAMs wird durch die Aufgabengröße bestimmt, entsprechend kann man auch eine RTX 4090 selbst mit 24 GB oder nun eine RTX 5090 mit 32 GB "klein" bekommen. Passende HPC-Berechnungen oder KI-Training, dass nicht mehr in den VRAM passt, lässt die theoretische Leistung der RTX 4090/RTX 5090 verpuffen. Einer der Gründe, warum AMD gerne auch ihre VRAM-Monster HPC-GPUs gezeigt hat, die "deutlich" schneller waren als die Grace Hoper oder davor Ampere HPC-GPUs, weil denen der VRAM ausging.

Die Bandbreite muss für die GPU passend gewählt werden. Ist der VRAM zu langam, bekommt die GPU nicht genug Daten und Rechenleistung bleibt ungestzt. Zu schneller VRAM wiederum bringt nichts, weil die GPU damit nichts anfangen kann.

Die Größe des VRAMs wiederum wird alleine durch die Aufgabe definiert und ob diese in den VRAM rein passt. Sobald der VRAM voll ist, müssen die Daten über den PCIe-Slot kommen und dass ist in der Regel viel zu langsam dafür.
Was nützt es einem wenn der Ram entlastet wird aber die Tensor-Kerne und Co. nur bei dieser Aufgabe ins Limit getrieben werden.
Das ist durchaus einen interessante Frage, weil hier ja auch die Neural-Shaders, DLSS und Co über die Tensor-Kerne laufen. Am Ende konkurrieren hier die "KI-Features" um die Rechenleistung und man hat nicht so viel gewonnen, wie man denkt.
Man kann von Nvidia halten, was man möchte, aber in Innovationen sind die einfach nicht zu schlagen.
Japp, da hast du recht. Die Frage ist am Ende nur, ob das auch am Ende so kommt, wie sich manche das vorstellen.
Genau. Am besten packen wir auf jede Karte 32GB und mehr Videospeicher, nur damit keine modernen Techniken entwickelt werden.
Die Frage bleibt halt die gleiche: Was bringt NTC am Ende wirklich und könnte es nicht vielleicht sogar Kontraproduktiv sein.

Bereits in der Demo deutet sich an, dass hier die Tensor-Kerne stark eingespannt werden und daher DLSS zum Beispiel überhaupt keine Leistungssteigerung bringt, weil keine Ressourcne mehr dafür übrig sind.

Man tauscht hier also VRAM-Bedarf gegen Rechenleistung ein. Nicht alles, weil es "modern" ist, ist am Ende auch wirklich besser. Hier wird man sich am Ende die Auswirkung von NTC auf die gesamte Leistung ansehen müssen und wenn hier Stumpf VRAM-Platzbedarf gegen Rechenleistung eingetauscht wurde, kann das ganze sogar nach hinten losgehen.
Ich find's ja cool, wenn's Speicher sparende Systeme gibt
Ich kann zwar verstehen, warum man es cool findet, dass man weniger VRAM/RAM benötigt, gleichzeitig verstehe ich es allerdings auch nicht.

Gerade mit Speicher kann man viele Algorithmen und Co so wunderbar optimieren, dass die Algorithmen oft deutlich schneller werden und gleichzeitig auch weniger weniger Energie benötigen, weil man Daten einfach zwischen speichert und sich so auch komplexe Operationen teilweise sparern kann.

Klar, auch RAM/VRAM ist eine begrenzte Ressource, doch ist es wirklich sinnvoll, weniger RAM/VRAM zu nutzen, wenn man gleichzeitig deutlich mehr Rechenleistung benötigt dafür?

Das Problem wird damit ja nicht behoben, sondern nur verlagert und ob das am Ende dann effizienter ist? Alleine ein Ergebnis der Demo hier lässt mich daran zweifeln, weil hier die Tensor-Kerne so am arbeiten sind, dass quasi keine Ressourcen mehr für DLSS frei ist.

Was hat man an der Stelle dann gewonnen? Ich will das nicht schlecht schreiben, es klingt interessant. Aber nur weil etwas interessant ist und dazu modern, muss es am Ende nicht unbedingt gut sein.

Na, egal ich lass mich mal überraschen.
 
Ist ein mm2 VRAM nicht günstiger in der Herstellung als ein mm2 GPU-Die? Samsung hat zuletzt angegeben, dass für ihre GDDR7 Chips der D1z node angewendet wird, der irgendwo bei dem 14nm MOSFET Prozess angesiedelt ist. Außerdem teilt man den gesamen Speicher ja schon auf mehrere Chips auf. Eine sehr kostengünstige Chipfläche also.

Während man das alles dann für wertvolle Chipfläche auf seinem brandneuen Blackwell Chip zu maximalen Preisen aufgibt?
 
Der Infinitycache bei den Radeons und der massiv vergrösserte L2-Cache bei Ada halfen viel.
Naja, Cache ist vieleicht flächenmäßig groß, aber den kannst du kostenmäßig betrachtet eben auch größer belichten lassen, da er nicht so dicht ist und die Fehlerquote dadurch geringer. Packst du in die gleiche Maske mehr Shader etc, dürftest du deutlich weniger Fläche nutzen um einen vergleichbaren Yield (Kosten und Machbsrkeit) zu bekommen.

Generell scheint mir aber eher Cache sinnvoller zu sein, vieleicht ja auch mal 3D stacked? VRAM Anbindung kostet ja auch Chipfläche, 512Bit Interface gibt es auch nicht gratis.
 
Interessante Technik. Da bin ich mal gespannt. Wird allerdings vermutlich auch nur wieder so ein Exklusivkram sein. Möglicherweise für die RTX60xx-Serie? Die dann auch nur wieder 12-16GB VRAM haben wird, während das Flaggschiff noch bei 32GB VRAM bleibt. :ugly:

Bin gespannt ob NV das für ältere Karten bis zur RTX5000 freigibt oder es ein Feature der RTX6000er Reihe wird die durch die 3GB Chips eh genug RAM haben wird.

Wenn das ganze mal in Bewegung problemlos funktioniert und nur 30% VRAM spart, wär das Bombe.
Nützt aber der 5000er und vermutlich auch der 6000er Serie noch nichts.

Außerdem , wenn es kommt, dann definitiv als exklusiv Feature einer neuen Gen. Daher ist die Kritik an den 16 GB der 5080 schon nachzuvollziehen.
Für das Geld hat der Speicher einfach kein Thema zu sein.

Wahrscheinlich kann das dann nur die 6xxx Serie, da wird schon jetzt an einem Grund gebastelt die Karten für 4K dann im Jahr 26~27 zu verkaufen. 😅

Dumm wärs nur, wenns das neue Feature erst für die 6000er gibt, ... natürlich exclusiv.

Nein, es wird für alle RTX Grafikkarten supported und läuft auch mit Intel und AMD.

Es gibt zwei Modi:

Bundle Compression Disk Size PCI-E Traffic VRAM Size
Raw Image 32.00 MB 32.00 MB 32.00 MB
BCn Compressed 10.00 MB 10.00 MB 10.00 MB
NTC-on-Load* 1.52 MB 1.52 MB 10.00 MB
NTC-on-Sample 1.52 MB 1.52 MB 1.52 MB

Bei NTC on Load wird die komprimierte Textur von der SSD in den Grafikspeicher geladen (was schonmal extrem viel PCI-E Traffic spart was bei VRAM Mangel bereits hilft). Die Textur wird dann im VRAM einfach via inferencing entpackt und abgelegt und als klassische Textur verarbeitet. Der Modus soll mit möglichst vielen GPUs kompatibel sein. Spart PCI-E Bandbreite, aber keinen VRAM im Vergleich zu herkömlichen Komprmierungsmethoden.

Und dann gibt es NTC on sample. On sample bedeutet, dass die Textur vollständig komprimiert im VRAM verbleiben kann und für jeden Frame via inferencing direkt zu einem entsprechenden pixel verarbeitet (gesampled) wird. Das entpacken und ablegen entfällt dadurch und der VRAM footprint bleibt extrem niedrig.

NTC on sample wird prinzipiell von allen RTX GPUs unterstützt, Nvidia empfiehlt die Nutzung aber nur auf RTX4000 und RTX5000.

Also JA, das wird ab RTX4000 vollständig supported und empfohlen. Siehe Nvidia Github.

Es würde auch reichen, mal aufs Video zu klicken, da sieht man, dass die Demo auf einer RTX4090 läuft.

Ungeöffnet ist es komprimiert ja.

Die Bilder die die Grafikkarte bearbeitet sind aber nicht komprimiert wie auch sie müssen ja für die Berechnung geöffnet sein. Irgendein System auf der Karte muss die Aufgabe dafür übernehmen und hätte mehr Arbeit.

Siehe oben. Bei NTC on sample ist das nicht nötig. Die Texturen können direkt in komprimierter Form verarbeitet werden, ohne sie nochmal extra zu entpacken. Die Texturdaten können dann direkt gesampled und in dem framebuffer zugeführt werden.


Der Infinitycache bei den Radeons und der massiv vergrösserte L2-Cache bei Ada halfen viel.
Wenn dadurch aber die Cachegrösse nicht mehr so gross ausfallen muss, bleibt mehr Platz für andere Rechenwerke oder alternativ potenziell kosteneffizientere GPUs, da neben geringerem Platzbedarf für Rechenleistung auch langsamere Speicher verbaut werden könnte.

Cache braucht man, um kleine AI models wie DLSS und co im Cache laufen zu lassen. Das erhöht die performance drastisch. Ich denke nicht, dass man den Cache wieder kleiner macht.


Die Beispiele sind alle statisch, da bewegt sich nichts. Ich würde vermuten, aus gutem Grund... Bei einer Kompression auf 4% mittels AI, also ziemlich harter Interpolation, dürfte es ein sehr fieses Ghosting und Artefakte geben...

Wie kommst du auf Ghosting? Ghosting entsteht durch fehler bzw. falsche zuordnung von Daten bei der temporalen akkumulation von samples in einer 3D Szene in Bewegung. Hier wird nur eine Textur mit einem kleinen Neuralen Netz verarbeitet. Da gibts keine temporalen Daten und somit nichts, was ghosten könnte... Zumal ghosting ganz unabhängig davon niemals ein Problem von DLSS per se war, sondern dem TAA prinzip geschuldet ist, welches man sich eben auch für DLSS zu Nutze macht. Aber das ist ein völlig anderes Thema.


Eigentlich müsste man nur mal SamplerFeedback tatsächlich nutzen.(x)
Alle Games, die direct storage nutzen, könnte man mal so patchen.

(x) die Texturen werden dann passend zum LOD verwendet, sprich Texturen weit im Hintergrund
müssen nicht 4k sein, sondern kleiner, ... spart Vram.

Ich vermute, dass Sampler Feedback Streaming einige limitierungen mit sich bringt, was dann wohl dazu führt, dass es einfach nicht genutzt wird. Aber ich weiß es nicht.

NTC funktioniert aber auch mit dem klassischen Texturstreaming Ansatz, was letztendlich dazu führen könnte, dass die Adaptionsrate der Entwickler viel höher ist. Sampler Feedback Streaming ist ja schon ein sehr grundlegender Eingriff in die Engine und dessen Streaming verhalten und Speichermanagement. Bei NTC könnte man den legacy ansatz einfach weiterführen. Er würde durch die deutlich stärkere Komprimierung nur stark beschleunigt.

NTC könnte also schneller in Spielen auftachen, als SFS.


Naja, stellt sich mir die Frage wie das in Bewegung aussieht, das was da in dem Video zu sehen ist ist ja nur ein statisches Modell, soweit ich das beurteilen konnte, das Problem ist ja eigentlich die Texturkompression in Bewegung, statische Modelle lassen sich meines Wissens nach sehr schön optimieren und komprimieren, das dekomprimieren in Echtzeit in einer annehmbaren Geschwindigkeit ist doch üblicherweise das Problem.

Was meinst du mit Statisch? Die Szene wird in echtzeit mit ~1000 Frames gerendert und der Kopf lässt sich auch frei drehen und ausrichten. Unabhängig davon, ob die Szene in bewegung ist oder nicht, wird das sampling der Texturen via neuralem netzwerk hier auch für jeden Frame neu berechnet. In dieser Hinsicht ist das also bereits das was du sehen willst.


Was nützt es einem wenn der Ram entlastet wird aber die Tensor-Kerne und Co. nur bei dieser Aufgabe ins Limit getrieben werden.
Es dürfte also weiterhin billiger / effektiver sein einfach mehr Ram (oder Minimum nicht weniger :P ) zu verbauen.

Interessantes Tech-Feature. Wenn die Perfomance nicht mehr so stark drunter leidet auf jeden Fall mit Zukunft.

Na ja, wir sehen im Video, dass sich bei 4K mit DLSS die Framerate von 1145 FPS auf 968 FPS reduziert, was -15,5% entspricht.
Das heißt, dass die Berechnungszeit eines Frames durch NTC on sample von 0,87 ms auf 1,03 ms ansteigt. Das NTC sampling kostet also in der Szene nur 0,16 ms.

Bei so hohen FPS mag der performanceverlust mit 15,5% recht hoch wirken, bei 60 FPS wäre eine erhöhung der Frametime um 0,16 ms aber nur der unterschied von 16,66 ms auf 16,82 ms, was 59,45 FPS entsprechen würde. (-0,92%)

Bei 60 FPS wären die kosten also kaum noch messbar. Man könnte diesen Kopf also vollständig pathtracen um auf ~60 FPS zu kommen und hätte durch das NTC dann keinen messbaren performanceverlust mehr.

Natürlich wird sich eine vollständige Szene anders verhalten sowohl allgemein für die GPU als auch in Hinblick auf die NTC algorithmen, da eben mehr NTC Texturen verarbeitet werden müssen.

Man darf aber auch nicht vergessen, dass Grafikkarten parallel aufgebaut sind und in die breite skalieren. Heißt, die Testszene wird nur ein paar wenige Compute Units und Tensor cores auslasten können, während eine vollständige Szene eben viel mehr cores auslasten kann. Kann ja jeder auch selbst testen. Du kannst das github sample auch 20x öffnen und gleichzeitig laufen lassen und die performance wird sich nicht wirklich ändern. Vor allem die relevante forward pass time ändert sich z.B. bei mir überhaupt nicht.

Ich gehe also sehr stark davon aus, dass NTC in einer realen Spielszene kaum performance kostet (zumindest auf Ada und Blackwell, vermutlich weil der algo in den Cache passt). Aber das wird sich dann irgendwann schon zeigen...


Es braucht mehr VRAM und keine KI !
Eine 5080 hätte 24GB Vram haben müssen und nicht nur 16 !


Wie willst du denn mit 1,5x VRAM kapazität das kompensieren, was der algorithmus hier schafft? (Faktor 6,4x vs BCn)
Und... warum nicht beides?
 
Ich kann zwar verstehen, warum man es cool findet, dass man weniger VRAM/RAM benötigt, gleichzeitig verstehe ich es allerdings auch nicht.

Gerade mit Speicher kann man viele Algorithmen und Co so wunderbar optimieren, dass die Algorithmen oft deutlich schneller werden und gleichzeitig auch weniger weniger Energie benötigen, weil man Daten einfach zwischen speichert und sich so auch komplexe Operationen teilweise sparern kann.

Klar, auch RAM/VRAM ist eine begrenzte Ressource, doch ist es wirklich sinnvoll, weniger RAM/VRAM zu nutzen, wenn man gleichzeitig deutlich mehr Rechenleistung benötigt dafür?

Das Problem wird damit ja nicht behoben, sondern nur verlagert und ob das am Ende dann effizienter ist? Alleine ein Ergebnis der Demo hier lässt mich daran zweifeln, weil hier die Tensor-Kerne so am arbeiten sind, dass quasi keine Ressourcen mehr für DLSS frei ist.

Was hat man an der Stelle dann gewonnen? Ich will das nicht schlecht schreiben, es klingt interessant. Aber nur weil etwas interessant ist und dazu modern, muss es am Ende nicht unbedingt gut sein.

Na, egal ich lass mich mal überraschen.
Ich denke, du verstehst mich falsch. Ich finde Systeme gut, die VRAM sparen können, was aber nicht heißt, dass ich nicht mehr davon möchte. Also mehr Speicher ist hier klar die Devise, aber was ist besser als mehr Speicher? Mehr Speicher, in den durch solche Verfahren noch mehr hinein passt. Eben um genau das zu tun was du beschreibst. Also mir gehts nicht um weniger verbauten VRAM, sondern nur um eine zusätzliche Nutzbarkeit des verbauten.

Ich war aus deinen genannten Gründen nie ein großer Fan von DLSS. Für mich hat das nämlich genau das gemacht was hier wieder zum tragen kommt. Einen Vorteil auf der einen Seite erschaffen, durch einen Nachteil auf der anderen. Bildruhe/Kantenglättung vom feinsten auf der einen Seite, gegen schmieren und Unschärfe auf der anderen Seite.
 
Das die Vorgängermodelle ebenfalls supportet werden, hab ich übersehen. Aber gut zu wissen. Umso interessanter wird es.

Interessant ist diese Technik auf jeden Fall, gleichzeitig zeigt die Technik allerdings auch, dass man gewisse Kompromisse bereit sein muss.

Im Studium hatten wir in einer Vorlesung damals eine Dreick als Grafik, in welche Richtungen man einen Algorithmus hin optimieren kann und was das dann für die anderen Aspekte bedeutet und genau das wird auch hier sichtbar.

Man spart hier VRAM - erst einmal gut - im Gegenzug wiederum steigt die Belastung auf die GPU, da diese mehr arbeiten muss, in dem Fall sind das hier die Tensorkerne.
Irgendwoher muss die Leistung dafür ja kommen.
 
Eigentlich springe ich nicht auf so platte offensive Raige-bait Kommentare an
Ich auch nicht, aber bei deinem habe ich eine Ausnahme gemacht. :D
Im Rahmen der ganzen Kommentare und bildungsfernen User freut es mich darauf hinzuweisen das AMD so ein Feature bereits genau so besitzt wie Nvidia. Nichts zu danken :)
Wusste ich tatsächlich nicht. Ich war 10 Jahre nicht mehr im Luxx angemeldet, weil Junk Email vergessen. Mea Culpa.

Habe dann doch genau ins Schwarze gestochen mit meinem Beitrag und gleich eine Verwarnung kassiert. Das Feature ist bei AMD gut und bei NV schlecht. Gratuliere.
 
Es gibt zwei Modi:

Bundle Compression Disk Size PCI-E Traffic VRAM Size
Raw Image 32.00 MB 32.00 MB 32.00 MB
BCn Compressed 10.00 MB 10.00 MB 10.00 MB
NTC-on-Load* 1.52 MB 1.52 MB 10.00 MB
NTC-on-Sample 1.52 MB 1.52 MB 1.52 MB

Bei NTC on Load wird die komprimierte Textur von der SSD in den Grafikspeicher geladen (was schonmal extrem viel PCI-E Traffic spart was bei VRAM Mangel bereits hilft). Die Textur wird dann im VRAM einfach via inferencing entpackt und abgelegt und als klassische Textur verarbeitet. Der Modus soll mit möglichst vielen GPUs kompatibel sein. Spart PCI-E Bandbreite, aber keinen VRAM im Vergleich zu herkömlichen Komprmierungsmethoden.

Und dann gibt es NTC on sample. On sample bedeutet, dass die Textur vollständig komprimiert im VRAM verbleiben kann und für jeden Frame via inferencing direkt zu einem entsprechenden pixel verarbeitet (gesampled) wird. Das entpacken und ablegen entfällt dadurch und der VRAM footprint bleibt extrem niedrig.
Die Tabelle enthält Fehler. Bei "NTC on Load" ist der Footprint im Memory bei 16 oder 32MB, nicht 10MB. 10MB erfordert BC7, was aber zu kompliziert ist um es beim Laden der Textur On-The-Fly ohne erhebliche Qualitätseinbußen wieder in dem Format zu komprimieren. Es funktionieren nur BC2/BC5 bzw. komplett unkomprimiert, und die erreichen nur ein Kompressionsverhältnis von 1:2 bzw. 1:1. (Ja, die Demo hat BC7 verwendet - aber mit deutlichen Artefakten.)

Was beim "NTC on sample" wichtig ist, ist dass es zwar weniger VRAM benötigt, aber im Gegenzug die kompletten 1.5MB benötigt werden um auch nur einen einzelnen Pixel zu berechnen. Im Vergleich dazu benötigt ein Pixel aus einer BCn komprimierten PBR Textur im Normalfall nur 2x2x16=64 Byte und selbst im Worstcase mit maximaler Anisotropischer Filterung höchstens 1024 Bytes an Daten. Das sind Mengen die sogar problemlos in die L1-Cashes passen, während die L1-Caches nicht einmal einen NTC-Tensor buffern können.

Oder mit anderen Worten: "NTC on sample" verbrennt Speicherbandbreite jenseits von allem was akzeptabel wäre, und der ganze Marketing-Bullshit von wegen "spart Speicher" ist komplett irrelevant, weil die Modelle die wirklich zu wenig VRAM haben, auch allesamt ein viel zu schmales Speicherinterface haben um die NTC-Tensoren überhaupt zur Laufzeit in die Caches laden zu können. Bzw. bei den "kleineren" GPUs ist sogar der L2-Cache deutlich kleiner was bedeutet das wesentlich weniger NTC-Tensoren parallel verwendet werden können bevor die Performance komplett im Arsch ist.

Die 24MB L2 einer RTX 4060 reichen entweder für:
- 16 verschiedene NTC komprimierte Texturen
- >1000 verschiedene Texturen mit klassischer Mipmap

Es hat schon einen Grund warum "NTC on sample" bis jetzt nur als Spielzeug in Backports von älteren Titeln demonstriert wird, die aus technischen Gründen gar nicht mehr unterschiedliche Texturen in der selben Szene verwenden konnten. Die Technik funktioniert mit modernen Titeln und der wesentlich höheren Menge an unterschiedlichen Assets in der selben Szene einfach nicht.
 
Zuletzt bearbeitet:
Man spart hier VRAM - erst einmal gut - im Gegenzug wiederum steigt die Belastung auf die GPU, da diese mehr arbeiten muss, in dem Fall sind das hier die Tensorkerne.
Wow, das ist tatsächlich ein differenzierter Kommentar, wo sich jemand Gedanken gemacht hat bevor er mit dem Tippen loslegt.

Wie wir gesehen haben ist es eine Beta und die FPS sind enorm hoch. Mit einem gezielten Einsatz zur bei typischen Framerraten und einem Teil der Texturen dürfte es sich schon anders verhalten. We will see.
 
Schön witzig wenn man sich ne 2000-3000€ GPU kauft und dann wegen was weiß ich (30€?) am Kabel spart....
Ich halte es für traurig vom hersteller.... das sowas überhaupt passieren kann !!! hallo wir reden über elektrik........ mein pc läuft 24/7 und wenn der zu brennen anfängt weil ich nicht daheim bin wtf.

Ich hoffe einfach das Nvidia vom gpu geschäft aussteigt.... 2 Generationen Gehen GPUS kaputt und nun kann bei falschem Kabel (ich hoffe ja wenisgtens das die klar markiert sind) die 3 generation kaputt gehen.
Sollen sie sich auf ihr KI geschäft konzentrieren wenn sie es nicht schaffen.
Reinvestion vom Kunden bleibt auch aus..... Produktionslinie wird einfach seid 20 Jahren nicht optimiert sonder nur geld in die taschen. Sorry aber ich kann den hype nicht nachvollziehen.....

BTW nvidia fängt ja schon an Tech von amd zu klauen ^^ bald gibts treiberbasiert FG bis zur RTX 2000 das kam von amd. MFG gibts als softwarelösung jetzt bald seid 1 Jahr und das ist das Verkaufsfeature von der 5090 XDDD
5090 ist in sachen FPS pro Watt und anschaffungs kosten in beiden bereichen schlechter als eine 4070......
du hast ungefähr die doppelte leistung und kaufst für den 4 fachen preis ein und sie verbaucht auch das 4 fache an strom..... 600 watt im PC, also sorry aber das ist nicht mehr normal.
Noch bischen mehr und das muss der Elektriker beim einbau abnehmen wie den herd XD
 
Siehe oben. Bei NTC on sample ist das nicht nötig. Die Texturen können direkt in komprimierter Form verarbeitet werden, ohne sie nochmal extra zu entpacken. Die Texturdaten können dann direkt gesampled und in dem framebuffer zugeführt werden.
Dann wird das ganze ja nur verschoben, im Framebuffer muss es spätestens dann von der Grafikkarte entpackt werden um dargestellt zu werden. Das Frame an sich kann ja nicht in komprimierter Form auf dem Bildschirm angezeigt werden.
 
Bei dem jetzt erscheinenden Speichermangelkarten bin ich davon ausgegangen dass dieses RTX NTC jetzt schon kommt. Aber da lag ich falsch und daher war die Generation auch noch enttäuschender als Sie sowieso schon ist.
Dann wird sich Nvidia dieses Feature vermutlich für die nächste Speichermangelgeneration aufheben. Dann kommen auch leistungsstärkere Tensorcores die weniger Leistung verlieren als die Bisherigen.
 
Zurück