Nu kommer Nvidia RTX IO – snabbar upp laddtider

Permalänk
Medlem
Skrivet av PatrickP:

Vart ser du AMD-fansen som hävdar detta? Jag har nog inte sett en enda här på Sweclockers iaf, men visst finns det andra forum på nätet
Skulle säga att de flesta är överens om att DLSS fungerar bättre än FSR, oavsett om man är Nvidia- eller AMD-fanboy.

Jo, det finns någon slags konstant inbillning att AMD inte kan ta fram en motsvarighet till diverse Nvidia-specifika funktioner (t.ex. DLSS) för att Nvidia låst in kunskapen i någon hemlig kista och kastat bort nyckeln, följt av en massa copium om att mjukvaruslask som går att köra på plebej-kort som varken har hårdvara eller prestanda för nyare spel på något sätt är "en bättre lösning".

Ett jämbörigt AMD hade lätt kunnat komma överens med säkerligen både Nvidia och Intel om gemensamma standarder, men med en återkommande eftersläntrare så kommer det ju aldrig att hända. Titta på hur alla andra lösningar kunnat samlas ihop under bl.a. DirectX när det finns tekniska motsvarigheter hos alla aktörer de senaste 25 åren.

Permalänk
Avstängd
Skrivet av PatrickP:

Vart ser du AMD-fansen som hävdar detta? Jag har nog inte sett en enda här på Sweclockers iaf, men visst finns det andra forum på nätet
Skulle säga att de flesta är överens om att DLSS fungerar bättre än FSR, oavsett om man är Nvidia- eller AMD-fanboy.

För de vill väl att det ska vara öppet så alla kan använda det. Via mjukvara.
Även om det sägs att FSR 3 kommer köras via hårdvara men då bli låst till nuvarande 7000 eller nästa gen.

Skrivet av Sveklockarn:

Ett jämbörigt AMD hade lätt kunnat komma överens med säkerligen både Nvidia och Intel om gemensamma standarder

Nvidia kom väl fram med något joint-program som skulle förenkla implementering av olika tekniker för spelutvecklare som Nvidia, Intel och AMD alla kunde varit med på men AMD sade väl nej till det?

Permalänk
Medlem
Skrivet av Sveklockarn:

Jo, det finns någon slags konstant inbillning att AMD inte kan ta fram en motsvarighet till diverse Nvidia-specifika funktioner (t.ex. DLSS) för att Nvidia låst in kunskapen i någon hemlig kista och kastat bort nyckeln, följt av en massa copium om att mjukvaruslask som går att köra på plebej-kort som varken har hårdvara eller prestanda för nyare spel på något sätt är "en bättre lösning".

Ett jämbörigt AMD hade lätt kunnat komma överens med säkerligen både Nvidia och Intel om gemensamma standarder, men med en återkommande eftersläntrare så kommer det ju aldrig att hända. Titta på hur alla andra lösningar kunnat samlas ihop under bl.a. DirectX när det finns tekniska motsvarigheter hos alla aktörer de senaste 25 åren.

Jag kanske är för trött just nu, men jag förstår knappt vad du säger
AMD har ju tagit fram en "motsvarighet" till DLSS, men med skillnaden att de har valt att göra den öppen för alla att använda och har gjort andra val (t.ex. att FSR inte behöver köras på dedikerade Ai-kärnor, oavsett om man kallar dem "tensor-kärnor", "Ai-enheter" eller "XMX-kärnor) än Nvidia. Dessa olika val medför olika fördelar och olika nackdelar.

Det är ju bara för konsumenten att använda den lösningen som är bäst för det specifika användningsscenariot man har, och då blir det ibland FSR och ibland DLSS (och säkert också ibland XeSS) som lämpar sig bäst. Det är väl inte konstigare än så?

Permalänk
Medlem
Skrivet av Nozomi:

Nvidia kom väl fram med något joint-program som skulle förenkla implementering av olika tekniker för spelutvecklare som Nvidia, Intel och AMD alla kunde varit med på men AMD sade väl nej till det?

Ja, det måste vara en av de roligaste grejerna på 2000-talet -- att AMD avstår med motiveringen att det inte gynnar dem med gemensamma standarder.

Det handlar alltså bara om att vara öppen tills man nått tillräcklig marknadsandel för att vrida om nyckeln på låset, på samma sätt som de börjat betala spelutvecklare för att stänga ute DLSS.

Permalänk
Medlem
Skrivet av PatrickP:

men med skillnaden att de har valt att göra den öppen för alla att använda

Det är vad AMD påstår, ja. Men ja, läggdags snarare än käbbeldags.

Permalänk
Medlem
Skrivet av Sveklockarn:

Det är vad AMD påstår, ja. Men ja, läggdags snarare än käbbeldags.

Låter bra, god natt
Skriv gärna i PM om du vill fortsätta diskussionen, för just nu förstår jag inte riktigt vart du vill komma, men det är nog stor risk att det beror på att jag också är trött (sovit dåligt flera dagar i rad, påväg att lägga mig snart också)

Permalänk
Medlem
Skrivet av Sveklockarn:

Förstår att du inte gillar Nvidia, men att påstå att de inte drivit teknikutvecklingen för grafik framåt i väldigt mycket snabbare än någon annan aktör blir svårt att ta på allvar.

Tycker om och tycker om… jag litar inte på dem. De är i klass med Facebook/Meta, och specifikt allt tramset runt PhysX när de köpte det och låste in det är en stor del av det.

Citat:

PhysX utvecklades i en tid när x86-CPUer nätt och jämnt hade blivit flerkärniga, och det var ju Nvidias satsningar på GPGPU som snabbt gjorde de diskreta korten överflödiga snarare än någon bojkott av PhysX per se.

.

Nvidia köpte PhysX 2008. Så dags var konsolerna flerkärniga på något vis (PS3 med sin Cell är ju lite speciell, men den är inte enkärnig i alla fall) och alla processorer hade varit det sen 2006 (Core Duo) i alla fall - både Pentium D och AMD tvåkårniga modeller fanns ännu tidigare. Skulle inte säga att det var någon bojkott av PhysX-kort, mest att de var dyra och folk brydde sig inte om det eftersom det funkade bra utan. Nvidia klev in och köpte upp det och låste till sina grafikkort.

Citat:

G-Sync var hästlängder före med att leverera en fungerande implementation, det går säkert hitta några papper om variabel uppdateringsfrekvens långt före 2013, men det ändrar ju inte att Nvidia drog lasset till att faktiskt bli en fungerande produkt som gick att köpa. När kom fungerande Freesync-system GPU/monitor, 2018-2019?

.

Jag köpte min skärm 2016, och den funkar med Freesync. Det var allt annat än nytt då - funktionen fanns på alla skärmar i det läget. Det är sannolikt så att G-sync snabbade på den implementationen, men funktionen är rätt given från vad DisplayPort redan beskriver. Hade det varit något magiskt hade väl Nvidia tagit patent på det.

Citat:

TAA har existerat i mjukvaruform på PC sedan 2011 med Crysis 2. DLSS körs med hårdvarustöd på dedikerade kärnor för ändamålet, något AMD fortfarande inte har fyra år senare, men kanske möjligen 2024 när nästa generation Radeon släpps. Om AMD behöver 5 år på sig bara för att komma ikapp något Nvidia redan har släppt så kan man ju räkna ut att det inte hade hänt någon gång i närtid utan en konkurrent.

Om du menar tensorkärnorna så har Yoshman redan svarat på det - de är bara exekveringsenheter, inget magiskt. Ser inte att det i sig är en fantastisk fördel.

Skrivet av Yoshman:

Är nog en rätt bra beskrivning, om man väljer att beskriva tiden 2008(Nvidia köper Ageia) till 2011(året då PhysX 3.0 släpps).

2011 släpptes sedan en rejält omarbetat version av PhysX där man från grunden optimerat för SSE.
2015 blev källkoden tillgänglig för alla som ville, krävdes dock att man registrerade sig hos Nvidia för att få access till git-repot.
2018 ändrades licensen till BSD-3, d.v.s. i praktiken "helt öppen, gör vad du vill med källkoden".

Under denna tid blev PhysX den klart mest använda fysikmotorn i spel, den är/var standardlösningen i bl.a. Unreal Engine 3/4 och Unity. Sådär väldigt dåligt anseende kanske tekniken ändå inte fick.

Mitt minne är att RealWorldTech’s avslöjande och Nvidias PR-självmål i att försöka försvara det ledde till att anseendet rasade rätt bra, och att det var öppnandet av källkoden som verklogen ledde till en rehabilitering (det och att Intel inte gjorde mycket med Havok). Även om det fortsatte användas, var det inte längre något plus i marknadsföringen. Tidigare stoltserade vissa spel med PhysX-loggor och switchar i gränssnittet, men de försvann över en natt.

Visa signatur

5900X | 6700XT

Permalänk
Medlem
Skrivet av mpat:

Nvidia köpte PhysX 2008.

Jo, det är 15 år sedan.

Skrivet av mpat:

Nvidia klev in och köpte upp det och låste till sina grafikkort.

Ja de borde bara gett bort sina pengar, den schyssta approachen av ett vinstdrivande bolag liksom.

Skrivet av mpat:

Jag köpte min skärm 2016, och den funkar med Freesync.

Ja, du köpte en kombination av hårdvara som fungerade.

Skrivet av mpat:

Det var allt annat än nytt då - funktionen fanns på alla skärmar i det läget.

Bristfälliga certifieringsprogram och oförmåga hos skärmtillverkare att följa VESA-standarden ledde till att det tog åratal att komma ikapp någonting som kan liknas vid samma funktionalitet som G-Sync hade, d.v.s. att alla skärmar fungerar ihop med alla grafikkort. Då har jag inte berört problemen med betydligt snävare uppdateringsintervall på Freesync-skärmar, och soppan vi har fått på marknaden där en stor andel skärmar inte går ner till 30 Hz utan ofta börjar på 48 Hz, vilket orsakar samma problem med stuttering som V-Sync gjorde en gång i forntiden när en (1) enda frame har lite för lång renderingstid.

Skrivet av mpat:

Hade det varit något magiskt hade väl Nvidia tagit patent på det.

Nvidias kvalitetkontroll var skillnaden. Ingen massproducerad produkt i världen är bättre än sin kvalitetskontroll.

Skrivet av mpat:

Om du menar tensorkärnorna så har Yoshman redan svarat på det - de är bara exekveringsenheter, inget magiskt. Ser inte att det i sig är en fantastisk fördel.

Bristerna hos FSR hänger garanterat ihop med att det inte finns bättre prestanda att ta ut med en ren mjukvarulösning. Det är korrekt att det inte är något magiskt där heller, bara en fråga om att AMD inte kan/vill lägga resurser på att utveckla något som fungerar bättre på deras hårdvara. AMD är ju uppenbarligen inte främmande för att använda inlåsningsstrategier när det kommer till att försöka boosta försäljningen av sina produkter, bara löjligt att tro att de är annorlunda av några andra skäl än att de för en tynande tillvaro på marknaden och måste använda alla tillgängliga knep för att få folk att fortsätta använda deras produkter.

Skrivet av mpat:

Mitt minne är att RealWorldTech’s avslöjande och Nvidias PR-självmål i att försöka försvara det ledde till att anseendet rasade rätt bra, och att det var öppnandet av källkoden som verklogen ledde till en rehabilitering (det och att Intel inte gjorde mycket med Havok). Även om det fortsatte användas, var det inte längre något plus i marknadsföringen. Tidigare stoltserade vissa spel med PhysX-loggor och switchar i gränssnittet, men de försvann över en natt.

Jag kan inte minnas namnet på en enda speltitel som använde PhysX längre, vet bara att jag gjort det i något spel och att den visuella skillnaden var så minimal att det var snudd på helt meningslöst som det implementerades. Första wow-upplevelsen jag kommer ihåg angående fysik i spel var Half Life 1, därefter Battlefield Bad Company 2, varav ingen använde PhysX.

Permalänk
Medlem

För er som snackar öppenhet och AMD, och hur viktigt det är. Har ni hört talas om x86/x64 någon gång. Det där lilla instruktionssettet som AMD och Intel äger den senaste specen av, enda möjligheten för andra att komma in är när patenten går ut. Jag vet inte, men jag skulle säga det är lite viktigare på det stora hela än något gammalt fysikkort som gav lite partiklar i ett 10-tal spel för 15 år sedan.

Hur kan ni överhuvudtaget köra x86-PC,MS Windows, DirectX, 100% proprietära spel. Ni borde ju spy på hela platformen. Men det är klart, AMD har ju en Open Source uppskalare så det företaget anammar ju öppna lösningar för jämnan.

För övrigt har Sveclockarn helt rätt, proprietära lösningar har i alla år drivit PC-Utvecklingen framåt. Det gäller NVidia, Intel så väl som AMD. Goda exempel är x86, 3DFX, Soundblaster, MS Windows, DX12 och senare teknologier som Nvidias GSync. Men ni kanske gillade PC-Speakern och vägrade köpa ljudkort?

För att säga det tydligare, AMD är en av de mest stängda aktörerna på hela PC platformen. Dom skulle kunna vara med och öppna den, släppa in fler aktörer. men det gör dom inte.

Permalänk
Medlem
Skrivet av Sveklockarn:

Det är vad AMD påstår, ja. Men ja, läggdags snarare än käbbeldags.

https://github.com/GPUOpen-Effects/FidelityFX-FSR2

Här är källkoden för FSR2.0 i alla fall, det borde duga ganska långt för att backa upp detta påstående

Permalänk
Medlem
Skrivet av Sveklockarn:

Jo, det är 15 år sedan.

Meningen du svarar på var den första i en förklaring om att många absolut hade flerkärniga processorer när Nvidia tog över PhysX. Inte riktigt klar över vad du menar med ditt svar.

Citat:

Ja de borde bara gett bort sina pengar, den schyssta approachen av ett vinstdrivande bolag liksom.

Nej, de kunde ha licensierat koden, och framförallt, de kunde ha låtit den köras om man hade både ett AMD-kort och ett Nvidia-kort i datorn. Det låste de nämligen bort, något som ledde till en katt-och-råtta lek med de som pillat bort Nvidias spärr.

Citat:

Ja, du köpte en kombination av hårdvara som fungerade.

Detta var ett svar på en fråga om när Freesync ”fungerade”. Eftersom detta är något subjektivt svarade jag med den information jag hade.

Citat:

Bristfälliga certifieringsprogram och oförmåga hos skärmtillverkare att följa VESA-standarden ledde till att det tog åratal att komma ikapp någonting som kan liknas vid samma funktionalitet som G-Sync hade, d.v.s. att alla skärmar fungerar ihop med alla grafikkort. Då har jag inte berört problemen med betydligt snävare uppdateringsintervall på Freesync-skärmar, och soppan vi har fått på marknaden där en stor andel skärmar inte går ner till 30 Hz utan ofta börjar på 48 Hz, vilket orsakar samma problem med stuttering som V-Sync gjorde en gång i forntiden när en (1) enda frame har lite för lång renderingstid.

Vad har detta med hur tekniken fungerar att göra? Smala uppdateringsintervall är givetvis sämre än breda, men om lägsta frekvensen som accepteras är 40Hz istället för 60Hz så kan man köra med inställningar så att min fps är 40 istället för 60. Det är 50% mer ögongodis för pengarna, så att säga. Vill man ha bredare intervall så kan man betala för det, som med allt annat. Att det finns processorer som går i 5GHz betyder inte att de som går i 3GHz är meningslösa.

Citat:

Bristerna hos FSR hänger garanterat ihop med att det inte finns bättre prestanda att ta ut med en ren mjukvarulösning.

Jag skulle hemskt gärna vilja veta hur du vet det. FSR2 är inte speciellt tungt idag (dvs, man får ut ungefär lika många fps om man renderar 1080p och skalar upp det till 1440p som om man bara renderar till 1080p), så om man kunde få ut bättre bildkvalitet med relativt dubbelt så hög prestandaförlust så tror jag att AMD hade kastat sig över det.

Det lustiga med hela den här diskussionen är specifikt exemplen. Jag kan tycka att Nvidia levererar väldigt bra grejer i allmänhet, något som bevisas av hur svårt det är för någon annan att komma in på GPU-marknaden. Jätten Intel kan knappt nå upp till mellanklassen trots ett mångårigt projekt, och den där kinesiska tillverkaren som Swec skrev om häromdagen verkar sitta i samma sits. CUDA behåller ett järngrepp om marknaden, och Nvidia tjänar verkligen rent absurda mängder pengar på compute-sidan. Allt detta är beundransvärt, och så kommer exemplen PhysX, G-sync och DLSS. DLSS är för all del bra (undantaget version 1 då), men PhysX är för mig bara det där RealWorldTech-avslöjandet och Nvidias PR-avdelning som bara gjorde allt värre. G-sync var en parantes, snabbt bortglömd. Det är verkligen inte de exemplen jag skulle dra upp om jag skulle lovprisa Nvidias innovation.

Visa signatur

5900X | 6700XT

Permalänk
Datavetare
Skrivet av mpat:

Mitt minne är att RealWorldTech’s avslöjande och Nvidias PR-självmål i att försöka försvara det ledde till att anseendet rasade rätt bra, och att det var öppnandet av källkoden som verklogen ledde till en rehabilitering (det och att Intel inte gjorde mycket med Havok). Även om det fortsatte användas, var det inte längre något plus i marknadsföringen. Tidigare stoltserade vissa spel med PhysX-loggor och switchar i gränssnittet, men de försvann över en natt.

Fråga: har du själv någonsin läst RealWorldTech artikeln och framförallt den associerade diskussionen?
Hade själv inte gjort det, men gjorde det igår och som vanligt är saker långt ifrån så svart/vitt som det utmålas i media...

David Kanter är exceptionellt kunnig, men ingen kan allt och uppenbarligen var han inte expert på SIMD vid den här tidpunkten. Han fick en hel del mothugg i tråden, främst kring att Nvidia bara kunde ha kompilerat om koden och låtit kompilatorn sköta det hela. Det var definitivt fel då (och är tyvärr till stor del fel även idag).

Tydligen hade de flesta speltillverkare tillgång till PhysX-källkoden redan då, så fanns all möjlighet att kompilera om från deras sida (det levererades redan en färdigkompilerad binär, de flesta verkar ha använt den).

Detta är en kommentar

"Our game, quite FP intensive as they normally are, gains only about 10% in performance when compiled with SSE2 instructions (does not use intrinsics), and loses about 5% of current user base that has old (mostly AMD) CPUs without SSE2.

As this is likely the normal use scenario, correct choice for distribution is x87, not SSE2 and providing source for those who need the last mile out of the source. It is also what we have chosen for our products.

Another method of delivery would naturally be an Intel-compiled multi-architecture binary, but at least earlier that used to bias towards Intel CPUs quite heavily. But then again, that would not necessarily be altogether unwanted at NV these days."

10 % är ingen gigantisk prestandaökning...

Följer man denna diskussion vidare visar det sig att för att överhuvudtaget kunna göra detta var man tvungen att kompilera endera med GCC (vilket "ingen" använde vare sig då eller nu på Windows) eller med Intels ICC (det gillade ju verkligen AMD-lägret...). Microsoft egen kompilator i VS 2008 hade inte det stödet, den genererade vid den här tidpunkten fortfarande x87-instruktioner för 32-bit (vilket de flesta spel fortfarande använde då).

Kanter pekade också på att det fanns en SIMD-optimerad version av PhysX till PS3, han pekade på att den borde kunna portas till SSE/SSE2 "på ca en dag och testas under ett par veckor". Det han missade var att all form av vettigt SIMD-stöd på denna tid var i praktiken handskriven assembler, det hade inte tagit "en dag" att konvertera detta (Kanter förutsatte att det bara handlade om en omkompilering).

Slutligen: var inte Nvidia som skrivit den koden, det var Ageia. Det som släptes 2011 var precis det som efterfrågades, men den version var skriven m.h.a. SSE-intrisincs (d.v.s. i praktiken handoptimerad x86 assembler).

Var först med Intels SPMD kompilator som det börjar bli relativt enkelt att skriva SIMD-kod (den är väldigt inspirerad av CUDA). Bl.a. Unreal Engine använder SPMD (dock inte 2008).

Nu börjar explicit SIMD-stöd (SPMD fungerar bara för x86, x86_64 och ARM64) hitta in i vissa programspråk, som bibliotek till C++ (inte del av standardbiblioteket än, men jobbas på) och Rust (finns men är inte deklarerat stabilt än) samt integrerat från start i språk som Zig och Julia.

Visa signatur

Care About Your Craft: Why spend your life developing software unless you care about doing it well? - The Pragmatic Programmer

Permalänk
Medlem

Denna diskussion blev väldigt snabbt en Nvidia vs AMD diskussion.

Vad jag själv hade varit mer intresserad av att veta är om detta kan lösa problemet med potatisteksturer (teksturer som inte laddar) för kort med enbart 8GB av VRAM. Tänker mig att det skulle kräva då stöd från spelet att teksturerna lagras komprimerade i VRAM och packas upp innan visning. Logiskt sett så borde det dock då dra ner på prestandan och införa en extra latency tänker jag mig.

Visa signatur

Ryzen 7 5800X3D | MSI B450 Gaming Plus Carbon AC | Adata XPG Spectrix D41 32GB 3600MHz CL17 | RX 6800 XT | SoundBlaster Z | Corsair 4000D + Seasonic FOCUS GX 750W | Samsung Odyssey G7
Hörlurar: Sennheiser HD650 + Millett Hybrid MiniMAX | Sony WF/WH-1000XM4 |

Permalänk
Medlem
Skrivet av Yoshman:

Fråga: har du själv någonsin läst RealWorldTech artikeln och framförallt den associerade diskussionen?
Hade själv inte gjort det, men gjorde det igår och som vanligt är saker långt ifrån så svart/vitt som det utmålas i media...

Ja, jag bodde mer eller mindre i det forumet innan Kanter slutade posta artiklar. Forumprogramvaran gjorde tyvärr att det var väldigt svårt att läsa allt - det blev olika trådar när folk svarade, och man missade en hel del, men jävlar vilket gäng det var som kommenterade på den tiden. Alltid lika kul när någon skrev något stensäkert om Linux och första svaret var ”Nej, det är fel. Linux fungerar inte så, det fungerar så här” och en lång text signerad ”Linus Torvalds”.

Notera för övrigt att signaturen Groo är Charlie Demerjian från Semiaccurate. Han är ingen framstående medlem av Nvidias fanclub, om vi säger så.

Citat:

David Kanter är exceptionellt kunnig, men ingen kan allt och uppenbarligen var han inte expert på SIMD vid den här tidpunkten. Han fick en hel del mothugg i tråden, främst kring att Nvidia bara kunde ha kompilerat om koden och låtit kompilatorn sköta det hela. Det var definitivt fel då (och är tyvärr till stor del fel även idag).

Tydligen hade de flesta speltillverkare tillgång till PhysX-källkoden redan då, så fanns all möjlighet att kompilera om från deras sida (det levererades redan en färdigkompilerad binär, de flesta verkar ha använt den).

Detta är en kommentar

"Our game, quite FP intensive as they normally are, gains only about 10% in performance when compiled with SSE2 instructions (does not use intrinsics), and loses about 5% of current user base that has old (mostly AMD) CPUs without SSE2.

As this is likely the normal use scenario, correct choice for distribution is x87, not SSE2 and providing source for those who need the last mile out of the source. It is also what we have chosen for our products.

Another method of delivery would naturally be an Intel-compiled multi-architecture binary, but at least earlier that used to bias towards Intel CPUs quite heavily. But then again, that would not necessarily be altogether unwanted at NV these days."

10 % är ingen gigantisk prestandaökning...

Följer man denna diskussion vidare visar det sig att för att överhuvudtaget kunna göra detta var man tvungen att kompilera endera med GCC (vilket "ingen" använde vare sig då eller nu på Windows) eller med Intels ICC (det gillade ju verkligen AMD-lägret...). Microsoft egen kompilator i VS 2008 hade inte det stödet, den genererade vid den här tidpunkten fortfarande x87-instruktioner för 32-bit (vilket de flesta spel fortfarande använde då).

Kanter pekade också på att det fanns en SIMD-optimerad version av PhysX till PS3, han pekade på att den borde kunna portas till SSE/SSE2 "på ca en dag och testas under ett par veckor". Det han missade var att all form av vettigt SIMD-stöd på denna tid var i praktiken handskriven assembler, det hade inte tagit "en dag" att konvertera detta (Kanter förutsatte att det bara handlade om en omkompilering).

Slutligen: var inte Nvidia som skrivit den koden, det var Ageia. Det som släptes 2011 var precis det som efterfrågades, men den version var skriven m.h.a. SSE-intrisincs (d.v.s. i praktiken handoptimerad x86 assembler).

Var först med Intels SPMD kompilator som det börjar bli relativt enkelt att skriva SIMD-kod (den är väldigt inspirerad av CUDA). Bl.a. Unreal Engine använder SPMD (dock inte 2008).

Nu börjar explicit SIMD-stöd (SPMD fungerar bara för x86, x86_64 och ARM64) hitta in i vissa programspråk, som bibliotek till C++ (inte del av standardbiblioteket än, men jobbas på) och Rust (finns men är inte deklarerat stabilt än) samt integrerat från start i språk som Zig och Julia.

Kanters poäng är mest att Nvidias PR-avdelning snackar sikt när de beskriver hur mycket bättre PhysX går på GPUn, när Nvidia uppenbarligen inte bryr sig om kodens kvalitet på CPU när de levererar x87-kod 2010. Jag vet att det var en lång diskussion om hur mycket detta egentligen skulle ge, men den diskussionen tror jag inte spred sig så mycket utanför RWT. Det som spred sig var att Nvidia hade saboterat koden (inte sant, men de hade inte optimerat den heller), och resultatet var att all reklam för PhysX inuti spel och från Nvidias PR när de släppte nya grafikkort dog ut.

Visa signatur

5900X | 6700XT

Permalänk
Datavetare
Skrivet av mpat:

Ja, jag bodde mer eller mindre i det forumet innan Kanter slutade posta artiklar. Forumprogramvaran gjorde tyvärr att det var väldigt svårt att läsa allt - det blev olika trådar när folk svarade, och man missade en hel del, men jävlar vilket gäng det var som kommenterade på den tiden. Alltid lika kul när någon skrev något stensäkert om Linux och första svaret var ”Nej, det är fel. Linux fungerar inte så, det fungerar så här” och en lång text signerad ”Linus Torvalds”.

Notera för övrigt att signaturen Groo är Charlie Demerjian från Semiaccurate. Han är ingen framstående medlem av Nvidias fanclub, om vi säger så.

Kanters poäng är mest att Nvidias PR-avdelning snackar sikt när de beskriver hur mycket bättre PhysX går på GPUn, när Nvidia uppenbarligen inte bryr sig om kodens kvalitet på CPU när de levererar x87-kod 2010. Jag vet att det var en lång diskussion om hur mycket detta egentligen skulle ge, men den diskussionen tror jag inte spred sig så mycket utanför RWT. Det som spred sig var att Nvidia hade saboterat koden (inte sant, men de hade inte optimerat den heller), och resultatet var att all reklam för PhysX inuti spel och från Nvidias PR när de släppte nya grafikkort dog ut.

Fast är ju det som var lite grejen som Kanter missat: dels gjorde inte x87 vs skalär SSE speciellt stor skillnad, det är enda man kan få till enbart genom kompilatorn.

Vad kanske ännu viktigare är att Microsofts kompilator var (och är fortfarande även om clang/LLVM börjar bli populära även under Windows) det överlägset vanligaste valet. Den Microsoft-kompilator som fanns vid den tidpunkten hade inte stöd för något annat än x87 instruktioner när man byggde 32-bit binär (var endast via intrinsics man kunde få SSE instruktioner)!

Sure, Nvidia hade kunnat bygga den binär som följde med m.h.a. ICC. Men användandet ICC har alltid varit kontroversiellt som "normalfall". Var ju med ICC och på Intel-plattform vinsten endast var ~10 %, är trots allt samma instruktioner som i praktiken körs oavsett om man använder x87 eller skalära SSE instruktioner. Vinsten med SSE är 8 register i stället för x87 vansinniga stack med 8 platser (eller vansinnig, det var en vettig idé på den tiden när x87 var en co-processor men inte när FPU-delen integrerades).

Intel hade ju vid samma tidpunkt också ett korståg mot PhysX, de pekade på att om man faktiskt handoptimerade koden för SSE skulle prestanda-delta minska till max x2-4 till fördel för GPU.

Det som i förlängningen sänkte hela idén med att köra fysik på GPU är att det inte kräver supermycket flyttalsoperationer (inte i närheten på de nivåer en modern GPU hanterar för grafik). CPUer blev åren efter mer än tillräckligt snabba för att hantera fysik vilket gjorde hela grejen med att köra det på GPU onödigt komplext.

Vilket lite osökt kommer in på denna artikel:
Anledningen att tekniker som Directstorage antagligen inte kommer gå samma öde till mötes som PhysX, de som har 12-16 kärning CPUer lär har mer än nog med "idle-tid" för att lika gärna kunna packa upp på CPU (+ att den algoritm som Nvidia designat, GDeflate, enkelt kan köras på SIMD m.h.a. t.ex. ISPC), är att det finns en extra vinst med att låta GPUn hantera det då man delvis kan ha texturer i komprimerat format även i VRAM -> bättre utnyttjade av den mängd VRAM som faktiskt finns!

Visa signatur

Care About Your Craft: Why spend your life developing software unless you care about doing it well? - The Pragmatic Programmer

Permalänk
Medlem
Skrivet av Yoshman:

Vilket lite osökt kommer in på denna artikel:
Anledningen att tekniker som Directstorage antagligen inte kommer gå samma öde till mötes som PhysX, de som har 12-16 kärning CPUer lär har mer än nog med "idle-tid" för att lika gärna kunna packa upp på CPU (+ att den algoritm som Nvidia designat, GDeflate, enkelt kan köras på SIMD m.h.a. t.ex. ISPC), är att det finns en extra vinst med att låta GPUn hantera det då man delvis kan ha texturer i komprimerat format även i VRAM -> bättre utnyttjade av den mängd VRAM som faktiskt finns!

Japp, det var min slutsats också. Genom att behålla texturerna komprimerade så långt det är möjligt kan man spara både VRAM, minnesbandbredd, tid för överföring över PCIe, osv. Sen om det blir Nvidias kompressionsalgoritm eller något annat är svårt att svara på, inte brytt mig om vad det finns för alternativ på marknaden där.

Visa signatur

5900X | 6700XT

Permalänk
Medlem
Skrivet av Sveklockarn:

Tror det är en förvirring kring hur det funkade med de tidiga iterationerna av DirectStorage, vet att jag svarade i en tråd för flera år sedan och länkade detta videoklipp (relevant info vid 13:45):
https://www.youtube.com/watch?v=zolAIEH0n1c&t=825s

Implementeringen av RTX IO tar det nästa steg, att inte passera RAM på vägen, som i grafiken ovan.

Har svårt att tro att RTX IO kan skyffla data direkt från SSD till VRAM, handlar ju snarare om att eftersom man kan skyffla den komprimerade datan från RAM till VRAM så blir det mindre data att skyffla.

Visa signatur

|Ryzen 5800x3d|RX 7900XTX Hellhound|Asus Prime X370 Pro|32GiB Corsair 2400MHz CL16 Vengeance|Corsair HX1000i|Fractal Define R5|LG 45GR95QE|Corsair K100|Razer DeathAdder V3 Pro|Ubuntu 23.10|

Permalänk
Medlem
Skrivet av F.Ultra:

Har svårt att tro att RTX IO kan skyffla data direkt från SSD till VRAM, handlar ju snarare om att eftersom man kan skyffla den komprimerade datan från RAM till VRAM så blir det mindre data att skyffla.

Detta är alltså:
1. DirectStorage
2. Avkomprimering

En liten spin ovanpå DS som teoretiskt sett ger ännu högre bandbredd för man inte behöver skicka all data i klartext, mot en liten beräkningskostnad

Permalänk
Datavetare
Skrivet av F.Ultra:

Har svårt att tro att RTX IO kan skyffla data direkt från SSD till VRAM, handlar ju snarare om att eftersom man kan skyffla den komprimerade datan från RAM till VRAM så blir det mindre data att skyffla.

När man går NVMe->RAM->VRAM kallas mittendelen för "bounce-buffer" och så fungerar det "normalt sett" om det inte finns något speciellt HW-stöd.

"GDS enables a direct DMA data path between GPU memory and storage, thus avoiding a bounce buffer through the CPU."

Nvidias GPUer ända tillbaka till Kepler stödjer något de kallar GPUDirect Storage

Så rimligen betyder RTX IO (som fungerar från Maxwell och framåt) att man just skyfflar direkt från NVMe till VRAM, utan att passera RAM.

Visa signatur

Care About Your Craft: Why spend your life developing software unless you care about doing it well? - The Pragmatic Programmer

Permalänk
Medlem
Skrivet av Yoshman:

När man går NVMe->RAM->VRAM kallas mittendelen för "bounce-buffer" och så fungerar det "normalt sett" om det inte finns något speciellt HW-stöd.

"GDS enables a direct DMA data path between GPU memory and storage, thus avoiding a bounce buffer through the CPU."

Nvidias GPUer ända tillbaka till Kepler stödjer något de kallar GPUDirect Storage

https://developer.nvidia.com/sites/default/files/akamai/GPUDirect/cuda-gpu-direct-blog-refresh_diagram_1.png

Så rimligen betyder RTX IO (som fungerar från Maxwell och framåt) att man just skyfflar direkt från NVMe till VRAM, utan att passera RAM.

Det verkar ju dock enligt nVidias egna docs som att detta enbart finns till Tesla och Quadro. Hittade en post under r/nvidia som skrev att nVidia disablat detta på alla Geforce kort och att GPUDirect inte ingår i RTX IO. Tittat på de två Vulkan extensions som nVidia lagt till för RTX IO och det finns inget "ladda data direkt till VRAM" där så vitt jag kan se heller.

Visa signatur

|Ryzen 5800x3d|RX 7900XTX Hellhound|Asus Prime X370 Pro|32GiB Corsair 2400MHz CL16 Vengeance|Corsair HX1000i|Fractal Define R5|LG 45GR95QE|Corsair K100|Razer DeathAdder V3 Pro|Ubuntu 23.10|

Permalänk
Medlem
Skrivet av Lussarn:

Men ni kanske gillade PC-Speakern och vägrade köpa ljudkort?

Kul analogi när man tänker på RealSound-teknologin som körde pulsviddsmodulering (eller pulsbreddsmodulering som det blivit på svenska av någon anledning) på PC-speakern med mjukvara istället för att använda dedikerat ljudkort.

Sweclockers 1989 hade säkert haft folk som argumenterade emot Creative Labs ”inlåsning av ljudet” med ljudkort, på exakt samma sätt som det argumenteras mot hårdvaruaccelererad uppskalningsteknik idag.

På den tiden kunde andra än Creative Labs konstigt nog göra fungerande dedikerade ljudkort som var minst lika bra som Sound Blaster, det är bara AMD som blockeras av Nvidia från att göra en hårdvaruaccelererad uppskalningsteknik, som skulle kunnat vara minst lika bra som DLSS annars.

Permalänk
Medlem
Skrivet av medbor:

https://github.com/GPUOpen-Effects/FidelityFX-FSR2

Här är källkoden för FSR2.0 i alla fall, det borde duga ganska långt för att backa upp detta påstående

Öppen källkod förändrar inte att mjukvarulösningen är en ren budgetlösning. Det klart att de försöker få nytta av det hela som marknadsföring för att AMD är det ”schyssta” bolaget, men anledningen till att man ger bort det är ju att man inte har en marknadsposition där det skulle gå att ta betalt för det.

Sen var öppen-kjellkod-strategin garanterat ett sätt att försöka få fler utvecklare att implementera FSR frivilligt, vilket inte verkar ha fallit ut bättre än att de anser sig nödgade att ”sponsra” utvecklare för att ”råka glömma implementera” DLSS-stöd.

Permalänk
Datavetare
Skrivet av F.Ultra:

Det verkar ju dock enligt nVidias egna docs som att detta enbart finns till Tesla och Quadro. Hittade en post under r/nvidia som skrev att nVidia disablat detta på alla Geforce kort och att GPUDirect inte ingår i RTX IO. Tittat på de två Vulkan extensions som nVidia lagt till för RTX IO och det finns inget "ladda data direkt till VRAM" där så vitt jag kan se heller.

Håller med om att det inte är glasklart exakt hur det fungerar.

Linux verkar ha "hyfsat" generellt stöd för "device-to-device" DMA mellan PCIe-enheter (vilket är del av PCIe-standarden, så behöver inte GPUDirect), det är dock en relativt ny finess. Men Windows verkar inte ha motsvarande generella stöd får sådant ännu, men finns vissa specifika funktioner just för DirectStorage (fungerar i nuläget endast för NVMe).

Xbox Series S/X har stöd för att direkt skicka data från disken till dess dedikerade HW för uppackning

"DirectStorage also adds support for hardware decompression. Each read request can be routed directly from the NVMe drive to the built-in hardware decompression block. This eliminates the need for a title to spend CPU resources on decompression."

Nvidia har dessa illustrationer kring RTX IO som ändå hint:ar om att det ska vara möjligt att gå direkt från NVMe till GPU

Klicka för mer information
Visa mer

Det som talar emot att det fungerar som Nvidias illustration visar är att det inte verkar finnas något direkt "device-to-device" läge för DMA i Windows. Windows 11 har något som kallas BypassIO, något som också används av DirectStorage förutsatt att man har en NVMe-drive som stödjer BypassIO.

Vad BypassIO primärt verkar göra är att skippa de flesta av Windows, rätt CPU-tunga, I/O-lager. Flera nämner att BypassIO är rätt influerat av Linux io_uring-system (vilket är ortogonalt mot eventuell device-to-device DMA).

Klicka för mer information
Visa mer

Microsoft nämner att BypassIO minskar antalet gånger data kopieras i RAM, de säger aldrig att det helt elimineras.

Värt att notera är att oavsett om man kör med eller utan "bounce-buffer" är CPUn ändå alltid involverad då alla DMA-operationer kontrolleras därifrån.

Vidare finns finns faktiskt ett rätt bra use-case där man använder DirectStorage, men ändå använder RAM. Huvudproblemet är inte vara brist på bandbredd mot RAM, det är att CPUn blir flaskhals när den ska packa upp texturer.

Alla moderna GPUer kan sätta om del av RAM då det kan använda det som "ett långsammare VRAM", vilket rimligen borde göra det möjligt att lämna komprimerade texturer i RAM och sedan använda DirectStorage för att packa upp texturerna + kopiera resultatet till VRAM.

TL;DR kan mycket väl vara så att data fortfarande går via RAM, men i praktiken kanske inte det spelar något direkt roll då överlägset största flaskhalsen tidigare var att texturer packades upp av CPU, men nu av GPU. Om GPUn läser den packade texturen från RAM eller VRAM lär spela mindre roll givet bandbredden hos x16 PCIe4.

Visa signatur

Care About Your Craft: Why spend your life developing software unless you care about doing it well? - The Pragmatic Programmer

Permalänk
Medlem

Det fanns visst en tråd på Neogaf som innehöll information om prestandan med DirectStorage 1.2 som hade behövt postas på första sidan i den här tråden för att slippa käbblet om GPU vs CPU.

Här är ett RTX 3090 Ti som plockar data från en 2 TB WD SN850 med DirectStorage 1.2.

8,63 GB data laddas på 0,4 sekunder med obefintlig CPU-belastning.

I tråden kan man även se hur hastigheterna fullständigt lemlästas av gamla SATA-SSDs.

Permalänk
Medlem
Skrivet av Sveklockarn:

Det fanns visst en tråd på Neogaf som innehöll information om prestandan med DirectStorage 1.2 som hade behövt postas på första sidan i den här tråden för att slippa käbblet om GPU vs CPU.

Här är ett RTX 3090 Ti som plockar data från en 2 TB WD SN850 med DirectStorage 1.2.

8,63 GB data laddas på 0,4 sekunder med obefintlig CPU-belastning.
<Uppladdad bildlänk>

I tråden kan man även se hur hastigheterna fullständigt lemlästas av gamla SATA-SSDs.

Min enda invändning är att det programmet ju visar den uppackade datan, dvs den har ju inte läst in 8,63GB som jag förstår det utan en betydligt mindre datamängd som sedan uppackat blir 8,63GB så det går ju inte att jämföra rakt av med vanliga inläsningstester där man räknar mängden data som man faktiskt läst och inte vad den datan råkar bli uppackad.

Vet inte heller om de som kör den har lagt in egna resurser eller inte för zip-arkivet på Google Drive som de länkar till har ju bara en texturfil för avokadon på 2MB och det låter skumt lite?!

Skrivet av Yoshman:

Håller med om att det inte är glasklart exakt hur det fungerar.

Linux verkar ha "hyfsat" generellt stöd för "device-to-device" DMA mellan PCIe-enheter (vilket är del av PCIe-standarden, så behöver inte GPUDirect), det är dock en relativt ny finess. Men Windows verkar inte ha motsvarande generella stöd får sådant ännu, men finns vissa specifika funktioner just för DirectStorage (fungerar i nuläget endast för NVMe).

Xbox Series S/X har stöd för att direkt skicka data från disken till dess dedikerade HW för uppackning

"DirectStorage also adds support for hardware decompression. Each read request can be routed directly from the NVMe drive to the built-in hardware decompression block. This eliminates the need for a title to spend CPU resources on decompression."

Nvidia har dessa illustrationer kring RTX IO som ändå hint:ar om att det ska vara möjligt att gå direkt från NVMe till GPU

Det som talar emot att det fungerar som Nvidias illustration visar är att det inte verkar finnas något direkt "device-to-device" läge för DMA i Windows. Windows 11 har något som kallas BypassIO, något som också används av DirectStorage förutsatt att man har en NVMe-drive som stödjer BypassIO.

Vad BypassIO primärt verkar göra är att skippa de flesta av Windows, rätt CPU-tunga, I/O-lager. Flera nämner att BypassIO är rätt influerat av Linux io_uring-system (vilket är ortogonalt mot eventuell device-to-device DMA).

Microsoft nämner att BypassIO minskar antalet gånger data kopieras i RAM, de säger aldrig att det helt elimineras.

Värt att notera är att oavsett om man kör med eller utan "bounce-buffer" är CPUn ändå alltid involverad då alla DMA-operationer kontrolleras därifrån.

Vidare finns finns faktiskt ett rätt bra use-case där man använder DirectStorage, men ändå använder RAM. Huvudproblemet är inte vara brist på bandbredd mot RAM, det är att CPUn blir flaskhals när den ska packa upp texturer.

Alla moderna GPUer kan sätta om del av RAM då det kan använda det som "ett långsammare VRAM", vilket rimligen borde göra det möjligt att lämna komprimerade texturer i RAM och sedan använda DirectStorage för att packa upp texturerna + kopiera resultatet till VRAM.

TL;DR kan mycket väl vara så att data fortfarande går via RAM, men i praktiken kanske inte det spelar något direkt roll då överlägset största flaskhalsen tidigare var att texturer packades upp av CPU, men nu av GPU. Om GPUn läser den packade texturen från RAM eller VRAM lär spela mindre roll givet bandbredden hos x16 PCIe4.

Lyckades till slut hitta info om att inte ens RTX4090 har PCIe P2P så det är definitivt inte ladda direkt från NVMe till GPU som det handlar om : Nvidia Confirms GeForce Cards Lack P2P, Pushing Expensive Pro Cards

Visa signatur

|Ryzen 5800x3d|RX 7900XTX Hellhound|Asus Prime X370 Pro|32GiB Corsair 2400MHz CL16 Vengeance|Corsair HX1000i|Fractal Define R5|LG 45GR95QE|Corsair K100|Razer DeathAdder V3 Pro|Ubuntu 23.10|

Permalänk
Medlem
Skrivet av F.Ultra:

Min enda invändning är att det programmet ju visar den uppackade datan, dvs den har ju inte läst in 8,63GB som jag förstår det utan en betydligt mindre datamängd som sedan uppackat blir 8,63GB så det går ju inte att jämföra rakt av med vanliga inläsningstester där man räknar mängden data som man faktiskt läst och inte vad den datan råkar bli uppackad.

Känns som att du inte riktigt förstår att det är exakt det problemet som är på system utan DirectStorage när det handlar om spel, att CPUn inte klarar att komma i närheten av samma hastighet under samma förutsättningar.

Skrivet av F.Ultra:

Vet inte heller om de som kör den har lagt in egna resurser eller inte för zip-arkivet på Google Drive som de länkar till har ju bara en texturfil för avokadon på 2MB och det låter skumt lite?!

Det är väldigt många avokados, är fullt möjligt att lägga till en massa random modeller och texturer för den som vill, vilket även står i Neogaf-tråden jag länkade. Det tar så att säga lika lång tid att packa upp samma avokado, när alla är nerpackade, sen skulle naturligtvis inget spel funka så utan där hade man bara laddat just den texturen en gång.

Skrivet av F.Ultra:

Lyckades till slut hitta info om att inte ens RTX4090 har PCIe P2P så det är definitivt inte ladda direkt från NVMe till GPU som det handlar om : Nvidia Confirms GeForce Cards Lack P2P, Pushing Expensive Pro Cards

"P2P enables data transmission between one graphics card's memory to the other, bypassing the memory on the system."

P2P har ju ingenting med DirectStorage att göra som tur är.

Permalänk
Medlem
Skrivet av Sveklockarn:

Känns som att du inte riktigt förstår att det är exakt det problemet som är på system utan DirectStorage när det handlar om spel, att CPUn inte klarar att komma i närheten av samma hastighet under samma förutsättningar.

Det hade varit en sak om man hade mätt inläsning av samma data men uppackat av CPU:n med vanliga deflate vs inläsning med GDeflate. DET hade visat på den riktiga skillnaden. Påstår inte att DirectStorage inte kommer att göra det hela snabbare, bara att man inte riktigt jämför rätt siffror så finns enorm risk just nu att många kommer att bli besvikna när det har hypats upp så pass som det har nu.

Skrivet av Sveklockarn:

P2P har ju ingenting med DirectStorage att göra som tur är.

P2P har väldigt mycket med den missuppfattning som många verkar ha haft att DirectStorage 1.2 skulle läsa direkt från NVMe till VRAM, den är extremt utbredd. Så att konstatera att RTX4090 saknar P2P var bara ett sätt att definitivt sätta en spik i den kistan, inget annat. Att kommunicera mellan GPU:er är bara en av sakerna som P2P används till, P2P är helt enkelt kommunikation mellan två enheter på PCIe bussen som inte är CPU:n, dvs DMA mellan två eller flera kort. Vi använder det på datacenter sidan bla för att just läsa in data direkt från NVMe till GPU.

Visa signatur

|Ryzen 5800x3d|RX 7900XTX Hellhound|Asus Prime X370 Pro|32GiB Corsair 2400MHz CL16 Vengeance|Corsair HX1000i|Fractal Define R5|LG 45GR95QE|Corsair K100|Razer DeathAdder V3 Pro|Ubuntu 23.10|

Permalänk
Medlem
Skrivet av F.Ultra:

Det hade varit en sak om man hade mätt inläsning av samma data men uppackat av CPU:n med vanliga deflate vs inläsning med GDeflate. DET hade visat på den riktiga skillnaden. Påstår inte att DirectStorage inte kommer att göra det hela snabbare, bara att man inte riktigt jämför rätt siffror så finns enorm risk just nu att många kommer att bli besvikna när det har hypats upp så pass som det har nu.

BulkLoadDemo går även köra utan GPU/Gdeflate, vilket resulterar i mångdubbla tiden. Den största skillnaden som påvisas är att de kan dra nytta av den högre I/O-kapacitet som kommer med nya NVMe-enheter, samt att CPUn får en helt obetydlig last, vilket annars skulle bli ett problem för att dekomprimera saker under spelets gång med maximal hastighet.

DirectStorage är ingen silverkula, utan en möjlighet att undvika den flaskhals som funnits på gaming-PCs decennier tillbaka, vilket gjort att speldesign har varit tvungen att anpassas för att segmentera upp spelvärlden i tillräckligt små bitar för att kunna laddas inom rimlig tid och utan att spelet stannar. Det är inte bara att data ska laddas snabbt, utan att det ska gå att spela samtidigt, vilket verkar missas i hela diskussionen.

Skrivet av F.Ultra:

P2P har väldigt mycket med den missuppfattning som många verkar ha haft att DirectStorage 1.2 skulle läsa direkt från NVMe till VRAM, den är extremt utbredd. Så att konstatera att RTX4090 saknar P2P var bara ett sätt att definitivt sätta en spik i den kistan, inget annat. Att kommunicera mellan GPU:er är bara en av sakerna som P2P används till, P2P är helt enkelt kommunikation mellan två enheter på PCIe bussen som inte är CPU:n, dvs DMA mellan två eller flera kort. Vi använder det på datacenter sidan bla för att just läsa in data direkt från NVMe till GPU.

Har länkat en video på första sidan i tråden med den tekniska förklaringen hur DirectStorage jobbar.

DirectStorage 1.2 har ju uppenbarligen anpassats för att vara en jack of all trades, antagligen främst för att göra övergången mjukare för användare som inte har uppdaterat sin hårdvara till de standarder som DirectStorage ursprungligen krävde. Det finns ju prestandavinster att ta ut även med föråldrad hårdvara tack vare GPU-dekompression, så tröskeln för spelutvecklare har ju också sänkts när man inte behöver oroa sig över att en del av deras potentiella kunder inte kan spela spelet.

Förstår fortfarande inte hur P2P kommer in i det hela. Ser inte hur GPUn skulle vara hindrad att ta data direkt från en enhet på PCI-bussen heller, och det är ju väldigt längesen det slutade vara en begränsning på PC.

Permalänk
Medlem
Skrivet av Sveklockarn:

BulkLoadDemo går även köra utan GPU/Gdeflate, vilket resulterar i mångdubbla tiden. Den största skillnaden som påvisas är att de kan dra nytta av den högre I/O-kapacitet som kommer med nya NVMe-enheter, samt att CPUn får en helt obetydlig last, vilket annars skulle bli ett problem för att dekomprimera saker under spelets gång med maximal hastighet.

DirectStorage är ingen silverkula, utan en möjlighet att undvika den flaskhals som funnits på gaming-PCs decennier tillbaka, vilket gjort att speldesign har varit tvungen att anpassas för att segmentera upp spelvärlden i tillräckligt små bitar för att kunna laddas inom rimlig tid och utan att spelet stannar. Det är inte bara att data ska laddas snabbt, utan att det ska gå att spela samtidigt, vilket verkar missas i hela diskussionen.
Har länkat en video på första sidan i tråden med den tekniska förklaringen hur DirectStorage jobbar.

DirectStorage 1.2 har ju uppenbarligen anpassats för att vara en jack of all trades, antagligen främst för att göra övergången mjukare för användare som inte har uppdaterat sin hårdvara till de standarder som DirectStorage ursprungligen krävde. Det finns ju prestandavinster att ta ut även med föråldrad hårdvara tack vare GPU-dekompression, så tröskeln för spelutvecklare har ju också sänkts när man inte behöver oroa sig över att en del av deras potentiella kunder inte kan spela spelet.

Förstår fortfarande inte hur P2P kommer in i det hela. Ser inte hur GPUn skulle vara hindrad att ta data direkt från en enhet på PCI-bussen heller, och det är ju väldigt längesen det slutade vara en begränsning på PC.

Kan inte se några siffror utan GDeflate in den tråden, men antar att du har testat själv med och utan? Koden verkar dock inte var helt 100 för den visar GPU Dekompression när jag testkör den i VirtualBox

Vad är det med P2P som är så svårt att förstå? Det är helt enkelt namnet på hur två PCIe enheter pratar med varandra utan att behöva gå via RAM och något som behövs om t.ex en GPU ska kunna läsa direkt från en NVMe, t.ex det som nVidia kallar GDS (GPUDirect Storage), på PCIe-språk så heter det dock P2P.

Visa signatur

|Ryzen 5800x3d|RX 7900XTX Hellhound|Asus Prime X370 Pro|32GiB Corsair 2400MHz CL16 Vengeance|Corsair HX1000i|Fractal Define R5|LG 45GR95QE|Corsair K100|Razer DeathAdder V3 Pro|Ubuntu 23.10|

Permalänk
Medlem
Skrivet av F.Ultra:

Kan inte se några siffror utan GDeflate in den tråden, men antar att du har testat själv med och utan? Koden verkar dock inte var helt 100 för den visar GPU Dekompression när jag testkör den i VirtualBox

Man får byta från Gdeflate till Zlib, finns bildträffar via Google med/utan GPU-dekompression om man inte orkar leta igenom forum.

Skrivet av F.Ultra:

Vad är det med P2P som är så svårt att förstå? Det är helt enkelt namnet på hur två PCIe enheter pratar med varandra utan att behöva gå via RAM och något som behövs om t.ex en GPU ska kunna läsa direkt från en NVMe, t.ex det som nVidia kallar GDS (GPUDirect Storage), på PCIe-språk så heter det dock P2P.

Det som är svårt att förstå är att det aldrig nämnts i kontexten DirectStorage i något material jag råkat på.

Edit: Här är två länkar jag skrapade fram.

DirectStorage/BypassIO och varför det blir snabbare på Windows:
https://hothardware.com/news/ms-directstorage-12-update

Nvidia skriver faktiskt inte att RAM skippas på vägen, visar det sig:
https://www.nvidia.com/en-us/geforce/news/rtx-io-for-geforce-...

Det här är nog ännu ett fall där teknologier blandas ihop baserat på liknande Nvidia-varumärken.

Bandbredden i RAM är inget problem, och bandbredden över PCIe 4.0 överträffar SSDs med råge, så vinsten med DirectStorage är alltså en optimering av hur datan hanteras av Windows samt att man inte utför dekompression på CPU.