RTX 3000 vs RTX 2000, förklarar skillnaden i prestanda i FP32

RTX 3000 vs RTX 2000

Ett av påståenden från NVIDIA angående deras RTX 3000 är att de har fördubblat flytpunkten kraft av deras GPU: er, vilket inte betyder att kraften och därmed prestanda för hela GPU har ökat jämfört med RTX 2000 allt är lika, men bara en del av GPU: n, men det är bäst att ge dig en förklaring till varför utan att gå in i alltför tekniska detaljer och på ett sådant sätt att även de mest nybörjare kan förstå det .

Enligt NVIDIA är dess nya RTX 3000-serie dubbelt så kraftfull (när det gäller flytande punktprestanda) jämfört med RTX 3000, men verkligheten är att i spel betyder det inte att prestandan har fördubblats, och för att förstå anledningen till att detta händer måste vi förstå en serie av förutsättningar för att nå den slutsats som förklarar orsaken till det.

Nvidia Diapositiva Ampere

Vad menar NVIDIA med floating point-prestanda? Det är en typ av numeriska data, vars beräkningshastighet mäts med en mängd som kallas FLOPS, flytande punktoperationer per sekund, men som åtminstone är vilseledande när man jämför enheter av följande skäl:

  • Inte alla instruktioner löses i samma antal klockcykler.
  • Varje processor, oavsett dess karaktär, utför en eller flera operationer i alla cykler.
  • Varje instruktion, motsvarighet eller motsvarighet löses inte i alla arkitekturer i samma antal cykler.

Det vill säga, vi kan ha två system med 10 TFLOPS kraft och ett av dem är snabbare än det andra, eftersom det i det som är mer kraftfullt har förändringar införlivats i arkitekturen som gör att den modellen fungerar mycket bättre än den andra, även om de har samma flytande ränta och ännu lägre.

RTX 3000 som en utveckling av RTX 2000

För att komma till den punkt som vi är intresserade av måste vi göra en dubbelzoom på arkitekturen, med början med SM-enheterna i båda arkitekturerna:

Den del som intresserar oss inom SM är "underkärnan" i varje arkitektur, eftersom det gör det möjligt för oss att bättre förstå de förändringar i termer av prestanda i flytande punkt som har inträffat i RTX 2000 med avseende på RTX 3000.

NVIDIA-ingenjörer, när de designade Ampere-arkitekturen för RTX 3000, tändes glödlampan och de bestämde sig för att göra en mindre intressant förändring i "underkärnorna" för att öka prestandan i flytpunkt jämfört med sin föregångare genom att ändra färre möjliga artiklar .

Med tanke på att både Turing- och Ampere-underkällor använder samma varvschemaläggare och har samma antal register, har det de gjort att utnyttja en liten fälla för att kunna fördubbla flytpunktseffekten för var och en av "underkärnorna". Vad är den fällan? Tja, vad NVIDIA har gjort är att lägga till ytterligare 16 ALU i 32-bitars flytpunkt.

I både Turing och Ampere kan vi ha 16 Int32 ALU: er och 16 FP32 ALU: er aktiva eftersom schemaläggaren skickar 32 trådar till de register som motsvarande ALU: er därefter kommer att utföra.

RTX 2000/3000 Samtidig körning

NVIDIA kallar detta samtidigt utförande, och det förlitar sig på att få heltal och flytande ALU: er att fungera tillsammans.

Turing samtidig utförande

Problemet i RTX 2000 uppstår när vi har en våg med 32 trådar i flytande punkt: heltalets ALU: er kan inte utföra den koden, så om vi har en våg av den typen måste den lösas i två steg istället för en ensam.

Nvidia RTX 2000 32 FP

Vad NVIDIA har gjort i Ampere-arkitekturen genom att fördubbla ALU: erna i FP32 är att en våg av 32 flytande trådar kan lösas på halva tiden för Turing och därmed fördubblar hastigheten (i den meningen att det bara tar en cykel att lösa det istället för två).

RTX 3000 32 ALU:er FP

Således är det ingen skillnad mellan RTX 3000 och RTX 2000 mellan heltal och flytande punkt samtidigt, och den flytande punktfördelen på Ampere-arkitektur grafikkort kommer bara att inträffa när de kör en våg med upp till 32 flytande punkttrådar.

De tekniska specifikationerna kommer från ett sammanhang som inte matchar verkligheten

Dibujo-Circuito-Arte

När vi väl har sett i vilka situationer RTX 3000 är dubbelt så snabbt som RTX 2000 måste vi lägga till ett annat element i ekvationen och det är att när vi pratar om FLOPS-hastigheten talar vi om en teoretisk hastighet som inte förekommer i de verkliga scenarierna och problemet med TFLOPS i GPU: er är att siffrorna som tillverkarna ger är priser baserade på:

  • GPU: n som utför den snabbaste typen av instruktioner, det vill säga den som tar minst cykler. Det vanliga är att använda FMADD / FMA eftersom det är en aritmetisk instruktion som består av ett tillägg och en multiplikation som löses i samma cykel.
  • Samma instruktion utförs alltid upprepade gånger, det finns inga radbrytningar i koden eller någon annan typ av instruktion.
  • Datan finns i registren, det finns ingen datasökning i cacheminnet eller VRAM-minnet, så den här instruktionen utförs med lägsta möjliga latens.

Det är som om vi köpte en sportbil för sin prestanda på en rak där den kunde accelerera obehindrat till det yttersta. Verkligheten är att vägarna är mycket mer komplexa än enkla raka linjer och detsamma händer med spelens grafiska kod; Detta innebär att dessa imponerande priser som alla tillverkare ger aldrig ges och inte stämmer överens med verkliga scenarier.

Så NVIDIA RTX 3000 är inte dubbelt så kraftfull som RTX 2000?

RTX 3000 mot 2000

Nej, det är de inte och det är något som vid denna punkt i artikeln borde ha varit tydligt för dig. Vi måste förstå att 3D-grafik i realtid följer en pipeline uppdelad i flera steg, i en stor del av dem kommer RTX 3000 inte att vara snabbare än en motsvarande RTX 2000, men i andra där flytpunktseffekten är viktig blir det när Ampere-sjökort kommer att ta ledningen och påskynda körningen i den delen av grafrörledningen, även om prestationsökningen aldrig kommer att bli dubbelt.

DX12-rörledning

Rörledningen är uppdelad i delar som körs av små och medelstora företag (beräkningsenheter i AMD's jargong), skuggstegen och är i grönt i diagrammet, medan delarna i blått är fasta. Dessa utförs av trådbundna och oplanerade enheter och i detta fall har det inte gjorts några förbättringar från RTX 2000 till RTX 3000 (utom på RT Core, men det ingår inte i rasteriseringsrörledningen).

För att bättre förstå situationen är det bäst att använda en likhet: föreställ dig att vi har två olika bilar, bil A och bil B som kan gå rakt fram i samma hastighet, men bil B har den egenskapen att svänga dubbelt så mycket snabbare än bil A. Antag att vi har testat dem på en krets uppdelad i 7 segment: 4 raka och 3 hörn.

Diagram Coches

Som du kan se tar bil B mindre tid att täcka varje varv i banan än sin rival, och utan att vara dubbelt så snabb tar det en stor fördel genom att vara snabbare i hörnet. Samma sak händer mellan RTX 3000 och RTX 2000, deras prestanda kommer inte alltid att fördubblas, men det kommer att fördubblas i specifika situationer.

Var har RTX 3000 fördelar jämfört med RTX 2000?

Skalv 2 RTX

Särskilt i allt som inte beror på fasta funktionsenheter, såsom den beräkningsrörledning som används idag i efterbearbetningseffekter och i Ray Tracing-steget i hybridåtergivning. Detta är anledningen till att i applikationer som Quake 2 RTX är prestandan för RTX 3000 dubbelt så stor som för RTX 2000, på grund av att det är ett spel som i hög grad utnyttjar körningen i flytande punkt och inte använder funktionsenheterna alls. fast rasterisering.

Med allt detta kan du förstå skälen till att RTX 3000 trots att fördubblat FLOPS inte fördubblar prestanda jämfört med sin föregångare.