Intel utlovar "något stort" den 2 september

Skrivet av Fulci:

Bra för alla, vilka av nuvarande HPC/datacenter är det bra för? Måste det vara Intel som gör ett öppet system för att det ska vara bra? Finns det inga andra konkurrenter på den marknaden som klarar av bygga öppna system?

Det är t.ex. bra för ARM-tillverkarna då vissa redan nu använder sig av SyCL. Xilinx har stöd för att använda SyCL till FPGA. Rent tekniskt finns även stöd till AMDs GCN, även om det är ett universitet som ligger bakom och inte AMD själva.

@loevet:
Känns som att HPC är mest logiska med just fokus på stort, annars är väl alder lake med stor&LITEN tema som skulle kunna passa ganska bra?

Skrivet av Yoshman:

Om vi nu antar att det handlar om Xe, tror faktiskt det inte är speciellt svårt för Intel att designa en krets som på kiselnivå är konkurrenskraftig med Nvidia och AMD. GPUer är i grunden faktiskt väldigt simpla, långt enklare än t.ex. att designa en CPU.

Ta Apple t.ex. Framkom lite konkret av vad man kan förvänta sig i form av GPU-prestanda i deras kommande krets från WWDC20

"Note: The Apple Silicon GPU will return false when queried for isLowPower because its performance is at least as good as the discrete GPU performance in current Macs, while offering a much better performance/watt ratio."

Nu är det inga prestandamonster till dGPUer som sitter i nuvarande Mac:ar, för utgår från att ovan refererar till de dGPU man använder i MacBookPro serien.

Ändå, det handlar om lika eller bättre än 1660Ti:ish prestanda i en iGPU tänkt till ultratunna bärbara! Det slår inte slår inte några prestandarekord, men det är klart snabbare än någon integrerad GPU från AMD och Intel. Det inkluderad förväntad GPU-prestanda hos Tiger Lake U, den kanske hamnar på 1650 till 1650S nivå i bästa fall (vilket är ett bra steg upp från dagens nivå). Räknar inte konsol GPUerna här. för de har tillskillnad från "normal" iGPUer tillgång till GDDR minnen och därmed en helt annan RAM-bandbredd. Konsolerna har också TDP som är tresiffrigt...

Så för GPUer handlar det primärt om att ha resurserna att dels designa en krets (vilket jag är övertygad är den enklare delen av ekvationen) och dels inse hur mycket resurser man måste lägga på programvara (de som misslyckats har nästan alltid misslyckats på den punkten).

Vilket åter tar mig tillbaka till: Xe lär stå och falla med Intels programvara. För datacenter, maskininlärning och andra buzzwords kokar det ned till deras oneAPI.

Ändå har Intel misslyckats tidigare. Inte bara en gång utan två gånger. Är det inte lite underligt om det nu inte är så "svårt" att designa GPU:er som kan konkurrera med företag som är 10 år före?

Skrivet av Cyberz:

Fifteen minutes of fame.
Är över för AMD. 😂😂

Japp. Intel kontrar med fifteen minutes of shame!

En lukt av desperation fyller rummet.

Skrivet av Yoshman:

Det är t.ex. bra för ARM-tillverkarna då vissa redan nu använder sig av SyCL. Xilinx har stöd för att använda SyCL till FPGA. Rent tekniskt finns även stöd till AMDs GCN, även om det är ett universitet som ligger bakom och inte AMD själva.

Om vi tittar på HPC så hittade jag denna slide från 2018. Det visar att Nvidia är dominerande i system som har s.k. acceleratorer/GPU, men Intel har en stor marknadsandel på grund av ett antal stora lösningar. I det segmentet finns inte så många andra konkurrenter att tala om. Därför betyder det inte mycket för andra än Intel själva, då det inte finns några andra stora som agerar i samma segment som Nvidia.

Pratar man om datacenter utan GPU från Nvidia så spelar det väl ingen roll för Nvida då de inte finns där i någon märkbar utsträckning.

Nvidia har en hel del öppen källkod också, det är väl inte omöjligt att de utökar det i framtiden. Vi får väl se.

Senast redigerat 2020-07-17 08:06

haha det är säkert endast något bs. Tänker på Blizzard " is this an April fools joke?"

Skrivet av Xinpei:

Ändå har Intel misslyckats tidigare. Inte bara en gång utan två gånger. Är det inte lite underligt om det nu inte är så "svårt" att designa GPU:er som kan konkurrera med företag som är 10 år före?

Du tycker inget något ändrats i GPU-världen de senaste 20 åren? På den tiden var GPU nästan uteslutande en fix-function pipeline, vilket då självklart medför att programvaran inte alls är lika kritisk då kretsen helt enkelt inte är speciellt programmerbar.

Sedan, kollar du initiala reviews av i740 så var faktiskt prestanda OK:ish men det fanns en hel del övrigt att önska när det kom till programvara, framförallt för de som inte primärt använde datorn som en glorifierat TV-spel därmed körde Windows NT.

Kolla hur det ser ut i datacenter (@Fulci har statistik från 2019 i sitt inlägg där man ser hur Nvidia totaldominerar). Dominerar Nvidia därför att deras GPUer är helt överlägsna AMD eller finns kanske en annan förklaring? Sett till rå kisel-prestanda har ju AMD vid ett par tillfällen legat före Nvidia i det som är relevant för datacenter, ändå existerar knappt AMD där. Kanske en vink om att orsaken inte är bristande kompetens i kiseldesign.

Sen får du nog förklara hur Intel misslyckats två gånger. Antar att du menar att den andra gången skulle vara Larrabee. Tänk ingen, blev det verkligen ett misslyckande givet att mycket av HPC och datacenter är just nu uppdelad mellan Intel och Nvidia. Enda ställena där Nvidia inte har nära 100 % av compute är där Intel i stället används. Och vad används? Inte Larrabee, men väl den teknik som kommer från det projektet. Det blev ingen GPU av detta, men istället Xeon Phi, som sedan integrerades direkt i Xeon i form av AVX-512. Ur alla rimliga synsätt lär Xe bli mer en fortsättning av Xeon Phi som separat accelerator än en konkurrent till AMD/Nvidias konsumentkort.

Att få in Xe GPUer i alla marknadssegment är ändå kritiskt för Intel. Linus Torvalds har en förklaringen som jag är rätt säker stämmer: x86 slog inte ut allt annat på serversidan för det var tekniskt bättre (det var snarare tekniskt sämre), man vann för tekniken var tillräckligt bra och tröskeln att använda x86 var den lägsta tänkbara då det var plattformen alla hade på skrivbordet och därmed den plattform man utvecklade på.

Att dominera skrivbordet räcker inte, om så vore fallet skulle våra telefoner köra x86. Där misslyckades man för man var allt för långt efter rent tekniskt. Så Xe måste prestera i nivå med Nvidia för att vara relevant, för att bli relevant måste man däremot säkerställa att tröskeln att använda Xe blir så låg som möjlig. Intel har ju misslyckats så kapitalt på GPU-marknaden att de endast pendlar mellan 60-70 % av GPUer som används på PC, lyckas man ungefär lika halvdassigt med Xe finns i alla fall möjligheten att utmana Nvidia i datacenter.

Tittar vi på varför AMD inte kommer någonstans så är det bara titta på programvaran. Om jag vill utveckla för Nvidias GPUer kan samma CUDA-ramverk köras på en Windows dator med MX150 som i slutändan ska köra på en Linux maskin i datacenter med datacenteranpassad GPU. Självklart kan inte MX150 hantera lika stora dataset och prestanda är löjligt i jämförelse, men samma program fungerar på båda.

I AMDs fall faller Windows bort, den teknik man använder i datacenter finns bara till Linux. Rätt stor del av desktopmarknden rök redan där. Vidare går det inte att använda APUer eller bärbara kretsar, de stödjer inte tekniken ens på Linux (fast enligt AMD kommer det stöd "snart"). Samma gäller om man kör dGPU, fungerar om man har en GCN-baserad dGPU men fungerar inte om man har en RDNA-baserad (tekniken stödjer bara CGN).

Inget bevis, men känns inte rimligt att Nvidia skulle ha sådan total dominans p.g.a. bättre kisel. r helt övertygad om att det ser ut som det gör nästan uteslutande p.g.a. av överlägsen programvara från Nvidia, fram till SyCL var alla tänkbara konkurrenter till CUDA ett skämt! En annan vink kring hur viktigt programvara är kan man få från att Nvidia har 5-10 gånger så många ingenjörer som jobbar med programvara än kiseldesign. Enligt glassdoor betalar också Nvidia sina programvaringengörer riktigt bra jämfört med bolag som Google, Microsoft och liknande (som i sin tur har rätt bra löner).

Svårt att säga hur mycket resurser Intel nu lägger på programvara runt Xe, finns i alla fall väldigt mycket material om just oneAPI ute redan och den tekniken är fortfarande inte officiellt lanserad. "Marknaden" tittar redan på oneAPI och håller helt med Erik Lindahl (även om jag är partisk då jag själv gått på KTH och läst inom de områden han är professor), det är extremt värdefullt att kunna köra samma teknik på sin bärbara dator som kan i slutändan kör i drift. För dem handlar det om superdatorer, för egen del handlar det i stället om inbyggda system, men är samma princip (det man utvecklar på är inte samma HW som man kör slutprodukten på).

Skrivet av Fulci:

Om vi tittar på HPC så hittade jag denna slide från 2018. Det visar att Nvidia är dominerande i system som har s.k. acceleratorer/GPU, men Intel har en stor marknadsandel på grund av ett antal stora lösningar. I det segmentet finns inte så många andra konkurrenter att tala om. Därför betyder det inte mycket för andra än Intel själva, då det inte finns några andra stora som agerar i samma segment som Nvidia.

Pratar man om datacenter utan GPU från Nvidia så spelar det väl ingen roll för Nvida då de inte finns där i någon märkbar utsträckning.

https://i.imgur.com/hzrscwB.jpg

Nvidia har en hel del öppen källkod också, det är väl inte omöjligt att de utökar det i framtiden. Vi får väl se.

Se ovan. Självklart totaldominerade Nvidia datacenter 2018, de var då helt ensam om att ha en teknisk lösning som

  • var tillräckligt bra för att faktiskt kunna användas

  • låg tröskel, jag kan utveckla och testa CUDA-koden på vilken PC som helst bara den hade en Nvidia GPU

  • plattformen hade (och har) någon bakom sig med tillräckliga resurser för att garantera dess stabilitet och fortlevnad

Just nu är maskininlärning det område som lär vara hetast inom acceleratorer/GPUer, självklart dominerar därför Nvidia inlärningssteget (däremot dominerar Intel inference då det är latenskritiskt, systemen som använder nätverken måste ta potentiellt många beslut på ibland submillisekundnivå baserad på en modell och GPUer är inte speciellt bra på låg latens).

Men GPUer är inte superoptimala för maskininlärningen, NPUer är betydligt mer effektiva. Problemet är som vanligt programvara... För att kunna använda HW måste det finnas vettiga sätt att använda HW via de ramverk folk faktiskt är bekväma med. Nvidia och Intel dominerar de flesta områden då CUDA och MKL dominerar.

En orsak att OpenCL var no-go för mycket av det CUDA används till är att ramverk som Tensorflow och PyTorch är C++ projekt. OpenCL är betydligt mer komplicerat än CUDA när det kommer till användning och OpenCL var fram till väldigt nyligen helt i C. Att fixa vettigt OpenCL stöd i t.ex. Tensorflow var allt för komplicerat för att någon skulle orka bry sig.

Det företag som fram till nu mest pushat SYCL är Codeplay. Codeplay har jobbat mycket med ARM-baserade företag och därmed mer mot embeddedvärlden än mot HPC-världen (men glöm inte, sedan ungefär en månad tillbaka är världens snabbaste superdator ARM-baserad, så saker har ändats sedan 2018).

Codeplay har gjort ett fantastiskt jobb, bl.a. då den som nu leder SYCL jobbet har väldigt gedigen kunskap om ISO C++, OpenMP (väldigt välanvänt in HPC) och liknande. Tror inte det kommer inte räcka att göra något som är lika bra som CUDA, varför skulle någon då byta? CUDA finns ju redan och folk har lagt tid på att lära sig det.

SYCL har potential då det, till skillnad från både CUDA och OpenCL, är helt standard C++17 utan extensioner. Då SYCL leds av någon som tidigare under många jobbat i ISO C++ kommittén finns väldigt bra förståelse både för språket men framförallt dess utveckling samt hur man kan påverka utvecklingen. Flera saker som kommer in i C++20 finns där för att underlägga för saker som SYCL.

Men en standard räcker inte, sista punkten som Nvidia har: det måste finnas garanti att någon/några med tillräckligt resurser backar det hela för att man ska våga satsa på det hela. Här kommer Intel jobb in. Och än mer då Intel valt att lägga sina resurser på LLVM-projektet, vilket betyder att andra också drar nytta av detta!

Det som gör LLVM så fantastiskt är dess arkitektur, det Intel gör för att stödja SYCL i oneAPI blir inte x86/Xe specifikt utan alla som har en backend drar nytta av det jobb inte gör. LLVM är riktigt populärt i ARM-lägret då Apple och Google plöjt ner enorma resurser i ARM-back:en då det är kritiskt för iOS och Android

Personligen hoppas jag ju att ARM64 tar en rejäl bit från x86 på skrivbordet. Intel har redan fått göra en del eftergifter för att verka trovärdig. CPU-delen av SYCL (den som används i system som saknar GPU med SYCL-stöd alt. om man explicit väljer att köra på CPU, man kanske har något där latens är primärt) bygger på ett annat projekt (också utökning av LLVM): ISPC. ISPC är ett öppet projekt, men väldigt nära 100 % av allt arbete så här långt har gjorts av Intel. För att få acceptans har Intel fått bita i det sura äpplet och även lägga in stöd för ARMs NEON

ISPC är också bra skit. Råkar man sitta på en CPU med AVX-512 stöd så kan program utvecklade med oneAPI (specifikt SYCL) välja att utnyttja AVX-512 på system som har detta. Det utan att man behöver göra något speciellt i sin programkod!!!

Just därför ser jag så positivt på oneAPI, allt som gör projekt som LLVM, SYCL och liknande starkare är bra för alla utom de som har en konkurrenskraftig proprietär lösning. Just i detta fall är det därför Nvidias CUDA mot "resten". Är övertygad om att AMDs HIP är DoA, de har inte i närheten de resurser som krävs på programvarusidan för att konkurrera med Nvidia, vilket i förlängningen betyder att även borde ligga i AMDs intresse att SYCL lyckas för det är den väg de kommer behöva gå i slutändan.