Linus Torvalds: "Jag hoppas att Intel AVX-512 dör en smärtsam död"

Skrivet av Yoshman:

Vet inte om de som jobbar med maskininlärning skulle säga att AVX-512 bara är vettigt för benchmarks när det finns delar av AVX-512 som ger flera heltalsfaktorer bättre prestanda.

Det finns ingen anledning att använda en CPU för maskininlärning när det finns GPU:er.

Skrivet av Dimman:

Utan Linus så hade ”folk som vet” (dvs tror sig veta men är rätt fritt ute och cyklar) inte hållts på ett betryggande avstånd från beslutskedjan.

Det är tack vare att kaoset uteblivit som Linux är där det är idag.

Min uppfattning är att företag (oftast) i första hand bidrar för egen vinning; sen vad det innebär kan variera. För några handlar det om pengar, för andra att vara ”först” och därmed sätta standard, för den tredje att slippa lägga tid på underhåll, osv. När det gäller Linux så finns det mer eller mindre inga forks (förutom Android) som en större mängd människor bidrar till, helt enkelt för att den officiella Linux-kärnan håller en väldigt hög nivå och man vet man kan förvänta sig.

Att likställa att Linus inte knackar mycket (om någon) kod med att han är överflödig... Gäller det då även alla VD’ar/CEO’s som är duktiga på att hitta kompetent folk att delegera arbete åt? Hela poängen är ju att överskåda helheten och se till så att det tas rätt beslut. Det är en sak att överskåda ett mindre projekt, men att lyckas mer ellermindre ensam hålla ihop helheten (med överlag vettiga designer) som är Linuxkärnan, det är inget annat än galet imponerande.

Det är min personliga uppfattning av verkligheten. Som bakgrund kan nämnas att jag jobbat på och för ett flertal stora bolag där vi bidragit till Linuxkärnan, nu senast på Arm.

Ganska intressant att läsa wikipedia i jämförelse med den bild som målades upp i tråden av vissa:

” Till skillnad från många andra open source-förespråkare håller Torvalds en låg profil och vill inte i allmänhet kommentera konkurrerande programvaror. Torvalds håller sig ofta utanför debatter om andra programvaror än Linux-kärnan och har av vissa blivit kritiserad för sin neutralitet. Särskilt har han kritiserats för att ha arbetat med kommersiella programvaror för Transmeta samt för att ha förespråkat den proprietära programvaran BitKeeper för versionskontroll av Linuxkärnan. Torvalds har dock programmerat en fri ersättare till BitKeeper som kallas för git.”

Är Linus den nya Bill Gates / Steve Ballmer?

Oavsett om Linus har helt rätt elller helt fel är det ändå starkt att kritisera ett av världens största företag.

Han är motsvarigheten till Leif gw som sågar polisen på vissa saker.

Om 20 år är alla som ska uttala sig sponsrade av Wix eller openvpn.

Man bör ju ha i åtanke att Skylake är den första generationen med AVX-512 och det är väl snarare mer regel än undantag att den första generationen av allting har en del brister och begränsningar, så det känns ju helt vansinnigt att förkasta hela instruktionsuppsättningen bara för att den första implementationen inte är perfekt.

Tittar man på AVX som var föregångaren till AVX-512 så var den första implementationen (Sandy Bridge) mer eller mindre usel. Det var först efter en ny mikroarkitektur och nodkrympning (Haswell) som det överhuvudtaget blev användbart, och det tog ytterligare en ny arkitetektur och nodkrympning (Skylake) innan det blev förstklassigt.

Skulle personligen gissa att vi kommer få se något liknande händelseförlopp med AVX-512 där det kommer vara hyffsat användbart på ICL-X, och först på 7nm bli riktigt bra.

Skrivet av kelthar:

Det finns ingen anledning att använda en CPU för maskininlärning när det finns GPU:er.

Finns ett par problem med det påståendet

Man kan dela in maskininlärning i två huvudområden.

  • Träning av ett nätverk, här är GPUer totalt överlägsen CPUer i prestanda

  • Användande av tränat nätverk, här finns en rad problem med att använda i alla fall dGPU och det utförs primärt via CPU

SIMD kan accelerera båda dessa delar och då det är en uppgift som fungerar lysande på GPU är det föga oväntat också en uppgift som skalar nära nog perfekt med ökad SIMD-bredd. Ovanpå det ger AVX-512 VNNI (Vector Neural Network Instructions) upp till en faktor 4 extra boost över normal AVX-512 (så 8 gånger snabbare än AVX2) om intermediärdata är 8 bitars heltal (inte alls ovanligt i dessa fall).

I praktiken betyder "använda GPU för maskininlärning" för tillfället "använda Nvidia GPU för maskinlärning". Finns system som använder GPUer från andra tillverkare än Nvidia och då blir faktiskt SIMD nästa anhalt även för första delen. Förhoppningsvis kommer just denna punkt rätta till sig med tiden, men det kräver att resten av industrin hittar något som är lika användbart som Nvidias CUDA (just nu är det bara Intel som har motsvarande och de har föga oväntat just använt SSE/AVX/AVX-512).

Att CPUer är mest lämpad för användande av tränade nätverk har primärt att göra med att den delen är latenskritisk och en dGPU ligger "för långt bort" från CPUn. Rimligen borde det ändå vara vettigare att i allt större utsträckning använda iGPU för sådant i stället för att lägga massor av kisel på allt bredare SIMD-enheter i CPUn. Problemet med att använda iGPU är i grunden samma som för dGPU: det kommer bara hända när det finns något som är minst lika enkelt som CUDA att använda + detta fall också måste ha en lösning för fallen där iGPU saknas. Intels oneAPI kan vara en sådan lösning, vilket i så fall är lite ironiskt då Intel också är de som har mest på att vinna att AVX-512 (eller framtida AVX-nnnn) fortsätter ha en relevans.

Om jag använder CUDA måste användaren av mitt program alltid ha en Nvidia GPU alt. så måste jag skriva minst två versioner av programmet, en för CUDA och en för CPU (vilket är precis vad som händer idag). OneAPI löser i teorin detta (vi får se hur bra det ungerar i praktiken), där räcker det att skriva en version och finns en kompatibel GPU används den, finns AVX-512 används det, annars används vad som nu finns på CPU. Översättningen till din specifika HW sker vid runtime.

Personligen är jag helt för att man lägger resurserna på att utveckla GPGPU i stället för att trycka in allt mer i SIMD-enheter. Det ser också ut som det börjar lossna på denna punkt, men det satt långt inne. Folk klagar på bl.a. Adobe för att inte utnyttja CPU-kärnor tillräckligt bra, i program som Premier skulle man säkert kunna pressa ur 30-100 % till på CPU-modeller med >=16. Grejen är att när man i de senaste versionerna börjat allt mer använda GPGPU har man fått heltalsfaktorer i prestandaförbättring! Det visare lite hur mycket potential som finns i GPGPU.

3D rendering är minst lika talande, framförallt då det visar just hur totalt irrelevant CPU-flyttalsprestanda kan vara trots att det används i varenda CPU-test. Flyttas detta arbete till moderna GPUer kan man se 5-10 gånger bättre prestanda ändå läggs det fortfarande resurser på att optimera denna typ av last på CPU i form av SIMD optimeringar. Att använda SIMD i dessa program är något som kommit relativt nyligen, innan har man bara plöjt "flera CPU-kärnor" fåran. Här ser man dock att Linus åter har en poäng med att 128-bitar kanske är "sweetspot", FMA+128-bitars SIMD ger en riktigt fin boost (ett par heltalsfaktorer men är ovanpå det moderna GPGPUer ger 5-10 till) medan skalningen sedan faller av kraftigt med 256 och 512 bitar. Orsaken här är att en 4D vektor (3D i homogena koordinater) med 32-bitar behöver 4-lanes -> 128 bitar blir perfekt match -> svårt att effektivt utnyttja större bredd.

Senast redigerat 2020-07-14 08:29

"Han menar vidare att den enklare uppsättningen AVX2 duger gott och väl.."

Så lite som när Bill Gates sa att 640kb räcker mer än väl..

Skrivet av Xeonist:

"Han menar vidare att den enklare uppsättningen AVX2 duger gott och väl.."

Så lite som när Bill Gates sa att 640kb räcker mer än väl..

OT: Fast det finns inget bevis på att Gates någonsin sagt det, och han nekar kraftigt och säger själv att han pushade för att höja gränsen.

Skrivet av lindahlj:

På gränsen till näthat från den gode Linus. Tråkigt att se från hans sida.

Han har ju helt rätt, bara bra att det finns någon som kör raka rör.

När man såg en artikel om heltal vs. flyttal så var det bara att vänta en dag och sedan scrolla ner till Yoshmans förklaringar för att lära sig mer. Någon annan som gör så vid sådana här ämnen?

@Yoshman Som vanligt lärorikt. Men flyttal var väl ändå ganska relevant på 90-talet ändå? För hade inte AMD, men framförallt Cyrix övertag över Intel på heltal? Men den dåliga spelprestandan var en akilleshäl innan K7 kom med en biffigare FPU och spelkronan gick till AMD? Flyttalsprestandan var väl viktig för spel fortfarande en bra bit efter GPU:er kom. När blev flyttalsprestandan oviktig för spel?

Senast redigerat 2020-07-14 10:34

Har ingen pejl på varat eller icke-varat av AVX 512, men Linus är i princip min idol, älskar att han framför sina åsikter helt osockrade.

Man behöver bara försöka föreställa sig hur en Kernel som är grunden till ett stort antal av operativsystem skulle se ut, när man kör en "flat hierarchy" princip.
En Kernel är ju grunden till allt som utförs på en dator/server. Det måste vara rocksolid innan det får ingår i en official release. Jag försår väl, varför Linus ibland tar till "motorsågen" för att bromsa vissa Devs.
Med tanke på att merparten av servrar och backbones på internet kör Linux är det ytterst viktigt att förhindra Spaghetticode som uppstår, när alla kan involvera i alla andras kod och sektioner av Kerneln.
Även om detta ibalnd skapar biff sinsemellan.
Finns ett antal Distros som lidit och avlidit just pga detta inom Linux världen och den mest prominenta kommersiella distributionen av operativsystem är Windows10 (icke linux), som ser ut att nästan varje ny uppdatering som kommer skapar nya problem och löser få gamla.
Nedskärning av personal och rekrytering av alldeses för många nya devs som inte kunnat bli inarbetad, plus nedskärningar i test av nya iterationer ledde ochså till dessa problem.
Ibland måste man styra med järnhand för att hålla kursen.

Skrivet av Yoshman:

Finns ett par problem med det påståendet

Man kan dela in maskininlärning i två huvudområden.

  • Träning av ett nätverk, här är GPUer totalt överlägsen CPUer i prestanda

  • Användande av tränat nätverk, här finns en rad problem med att använda i alla fall dGPU och det utförs primärt via CPU

SIMD kan accelerera båda dessa delar och då det är en uppgift som fungerar lysande på GPU är det föga oväntat också en uppgift som skalar nära nog perfekt med ökad SIMD-bredd. Ovanpå det ger AVX-512 VNNI (Vector Neural Network Instructions) upp till en faktor 4 extra boost över normal AVX-512 (så 8 gånger snabbare än AVX2) om intermediärdata är 8 bitars heltal (inte alls ovanligt i dessa fall).

Att träna ett nätverk kan ta flera veckor med stora stackar av GPUer. Att använda ett färdigtränat nät brukar generellt inte ta många sekunder. Finns undantag på minuter.

Att reducera träningen kan handla om skillnader i dagar till veckor med att byta från CPU till GPU. I många fall med stora träningar så snackar vi att det skulle ta år med CPU i stället för dagar på GPU.

Ser inga problem med att han slänger ur sig sin egen åsikt.

Det gör ju varken från eller till i slutändan när det kommer till hur Linux-kärnans utveckling fortgår för den är han rätt lite inblandad i idag.
-Även om han fortfarande suttit på tronen har jag svårt att tro att han skulle vägra inkludering av nya tekniker som AVX512 av en personlig anledning, det är inte så det fungerar att hålla ihop tusentals utvecklare i ett projekt som Linux-kärnan.

Att Linus uttalar sig är inte jämförbart med om någon VD/CEO för ett företag uttalar sig om något i officiella sammanhang.
Linus representerar inte Linux som community, men han bryr sig om teknik för det intresserar honom och alla har vi ju rätt att uttrycka vår personliga åsikt om saker och ting.

Yes, Linus är en perfektionist i grunden och hatar nog mest av allt när företag vill ta den enkla vägen ut för att framstå i gott ljus.
Tycker Linus åsikter oftast är sunda, då han sällan uttalar sig om saker han inte har någon erfarenhet av eller brottats med tidigare, sedan har han ju ett sätt att kommunicera som kanske inte passar så väl in hos gemene man, inkl. mig själv kan tilläggas, men han har inte hamnat där han är nu p.g.a. sina skills inom diplomati precis, utan av helt andra anledningar.

Men återigen, man måste kunna skilja på saker och ting.
Att detta skulle vara en större nyhet att haka upp sig på ser jag nog som mer av en "storm i vattenglas".
Det påverkar inte branchen ett dyft och lär inte förändra någonting.
Intel gör som de vill, Linus uttrycker sin personliga åsikt om det, slutsnackat.
Som jag ser det verkar det faktiskt som att Linus bryr sig om Intel (på sitt eget vis förstås!) och kanske saknar vad de fokuserat på och tillfört sedan förr.
För Intel har under mängder av år bidragit till Linux-kärnan på ett frikostigt vis.

Men allvarligt talat, jag tror inte han är den enda som stört sig på Intels buggar, säkerhetsbrister, tafatta försök till att påverka hur Linuxkärnan skall behandla CPU:er för att säkerhetsåtgärder inte skall se ut att tumma på prestandan.

Man behöver inte hålla med Linus alls, i sådana här sammanhang för tekniker som AVX512 har sin plats liksom Linux numera har sin plats överallt och därmed behöver support för allehanda ting också existera.

Senast redigerat 2020-07-15 11:28

Tycker mer det känns som:
Linus: -Hej Intel, det är Linus, ni vet LINUX Linus, jag kör INTEL sedan 15år ge mig cash plx..
Intel: -Linus? Jaha, har du dåligt med cash, Inte våra problem bubbis.
Linus: -Intel suger, jag skaffar AMD (för dom ger mig uppskattning i form av pengar)

Jag har läst (på Doom9) att x265/x264 fungerar bättre med AVX2 än AVX512.

Skrivet av adfactory:

Tycker mer det känns som:
Linus: -Hej Intel, det är Linus, ni vet LINUX Linus, jag kör INTEL sedan 15år ge mig cash plx..
Intel: -Linus? Jaha, har du dåligt med cash, Inte våra problem bubbis.
Linus: -Intel suger, jag skaffar AMD (för dom ger mig uppskattning i form av pengar)

Roligt, men problemet med dessa skämt är väl att det finns folk som faktiskt tror att något liknande kan ha hänt...

Skrivet av Djhg2000:

Roligt, men problemet med dessa skämt är väl att det finns folk som faktiskt tror att något liknande kan ha hänt...

Tror inte det är helt omöjligt att det är en orsak, tyvärr

Skrivet av adfactory:

Tror inte det är helt omöjligt att det är en orsak, tyvärr

Inte omöjligt, men i detta fallet mycket osannolikt skulle jag tro.

Linus är väl ingen dollarmiljardär men ändå tillräckligt rik för att kunna köpa precis den dator han vill ha (som får plats i ett normalt hem). Google säger att han är värd 150 miljoner dollar. Det är lite mer än en fattig tiggare i varje fall.

Skrivet av adfactory:

Tror inte det är helt omöjligt att det är en orsak, tyvärr

Vad, att Intel inte ville ge honom en ny dator? Och här trodde jag det var ett skämt.

Han köper sina privata maskiner själv och har vad jag vet alltid gjort det, åtminstone sedan hans PC-klon med en Intel 386. Vill också påminna att hans näst senaste maskin var en i9-9900K köpt för egna pengar. Kom inte med så befängda påståenden utan att presentera något som ger stöd för din teori, att Torvalds skulle vara köpt är ju minst sagt en grov anklagelse i sammanhanget.

Jag tror Intel backat honom tidigare, men inte vill längre. Han har ju som sagt varit Intel trogen i 15år+ och nu plötsligt är deras grejer skit.

Skrivet av adfactory:

Jag tror Intel backat honom tidigare, men inte vill längre. Han har ju som sagt varit Intel trogen i 15år+ och nu plötsligt är deras grejer skit.

När har han sagt att Intels grejer är skit?

Alltså, Torvalds är ju inte direkt någon influencer. Vill hårdvarutillverkarna göra reklam så tror jag inte Linus är förstahandsvalet, såvida det inte är Linus Tech Tips man menar.

Skrivet av adfactory:

Jag tror Intel backat honom tidigare, men inte vill längre. Han har ju som sagt varit Intel trogen i 15år+ och nu plötsligt är deras grejer skit.

Du får gärna peka på något som styrker ditt resonemang, men det är knappast en plötslig förändring. Vill minnas att han till exempel hade ett och annat att säga specifikt om Intel när Spectre och Meltdown kom för drygt ett par år sedan, innan dess har han irriterat sig på andra aspekter av deras processorer.

Trots det har han fortsatt köra Intel för egna pengar. Bytet till AMD var för att han ville ha mer prestanda än vad Intel hade i sitt sortiment. Här är vad han hade att säga om saken i en intervju med ZDNet:

Skrivet av ZDNet:

"Initially, my plan was actually to do an AM4 board and just a Ryzen 3950X, which is the more mainstream upgrade," Torvalds said, but the "Ryzen 3950X would have been an upgrade over the Intel i9-9900K, but it would only have been an incremental one."

"Normally, I go for the regular consumer CPU's, since they tend to be the best bang for the buck, and in the case of Intel CPU's I actually like that they just have integrated graphics. I don't care about the GPU very much, so an integrated one is fine, and it avoids the worry about picking the right GPU and possible noise-levels from one with bad fans."

Hela artikeln här: https://www.zdnet.com/article/look-whats-inside-linus-torvald...

Skrivet av adfactory:

Jag tror Intel backat honom tidigare, men inte vill längre. Han har ju som sagt varit Intel trogen i 15år+ och nu plötsligt är deras grejer skit.

Ingen backar Linus personligen!

Intel, AMD, Google etc skickar pengar till Linux Foundation (non-profit). Sen får han (helt oberoende av vem som donerar) lön/arvode därifrån.

Det låter VÄLDIGT konstigt att han skulle ta mutor eller annat under bordet. Då skulle han inte skada alla dessa donatorers intressen med dessa utbrott. Han säger det han tycker och köper den bästa datorn han kan för sina pengar.

Intel har ingenting som ens är nära att jämföras med en 3970X för samma pengar. Därför köpte han AMD. Intel gör helt enkelt inte längre världens snabbaste processorer i annat än vissa singeltrådade scenarios, och till och med Threadripper är ganska nära intels snabbaste där trots 4-8x antal kärnor.

Känns som ett ganska självklart val för honom och en mer rimlig förklaring till plattformsbytet. Knappast att AMD gav honom pengar för att byta, skärp er!

Skrivet av Aleshi:

När man såg en artikel om heltal vs. flyttal så var det bara att vänta en dag och sedan scrolla ner till Yoshmans förklaringar för att lära sig mer. Någon annan som gör så vid sådana här ämnen?

@Yoshman Som vanligt lärorikt. Men flyttal var väl ändå ganska relevant på 90-talet ändå? För hade inte AMD, men framförallt Cyrix övertag över Intel på heltal? Men den dåliga spelprestandan var en akilleshäl innan K7 kom med en biffigare FPU och spelkronan gick till AMD? Flyttalsprestandan var väl viktig för spel fortfarande en bra bit efter GPU:er kom. När blev flyttalsprestandan oviktig för spel?

Flyttal var relevant för 3D-spel fram till HW-T&L började användas. Rätt intressant att se tidiga tester av Athlon där dessa, när man använde Voodoo-kort och Nvidia TNT-kort, var rätt ordentligt mycket snabbare än PIII vid ISO-frekvens.

När sedan GeForce-serien rullade var det rätt skralt med spel som hade stöd för de nya finesserna, undantaget vad de spel som använda OpenGL då i alla fall "HW-transform" delen kunde utnyttjas direkt. I det läget blev det andra delar som primärt flaskhalsade CPU-delen, då var man tillbaka till heltalsdelen och tydligen var i alla fall "coppermine" (PIII med integrerad L2$) något snabbare än Athlon på det då PIII nu hade en liten fördel i OpenGL spel ISO-frekvens.

Generellt på 90-talet så var flyttal om möjligt ännu mer irrelevant för normalanvändaren än nu, det specifika undantaget var just 3D-spel innan HW-T&L slog igenom.

Som Torvalds nämner i något inlägg: självklart behövs en FPU idag, det är enklare att lösa den andel flyttal som faktiskt används via HW då det är rätt komplicerat att lösa via programvara, men FP-prestandan är för väldigt nära 100 % irrelevant. AMD hade dålig timing med K6, det var en bättre CPU än Pentium men just då slog 3D-spelen igenom så K6:ans låga FPU-prestanda (lågt även ställt mot Pentium som i sin tur var bedrövlig mot samtida RISC:ar) låg den i fatet för de som spelade.

K6:an var överspelad när GeForce släpptes, men finns lite tester med Quake 2/3 och just K6 fick en rejäl boost av HW-stöd för transform!

Jag ska vara tyst.

Skrivet av Yoshman:

Flyttal var relevant för 3D-spel fram till HW-T&L började användas. Rätt intressant att se tidiga tester av Athlon där dessa, när man använde Voodoo-kort och Nvidia TNT-kort, var rätt ordentligt mycket snabbare än PIII vid ISO-frekvens.

När sedan GeForce-serien rullade var det rätt skralt med spel som hade stöd för de nya finesserna, undantaget vad de spel som använda OpenGL då i alla fall "HW-transform" delen kunde utnyttjas direkt. I det läget blev det andra delar som primärt flaskhalsade CPU-delen, då var man tillbaka till heltalsdelen och tydligen var i alla fall "coppermine" (PIII med integrerad L2$) något snabbare än Athlon på det då PIII nu hade en liten fördel i OpenGL spel ISO-frekvens.

Generellt på 90-talet så var flyttal om möjligt ännu mer irrelevant för normalanvändaren än nu, det specifika undantaget var just 3D-spel innan HW-T&L slog igenom.

Som Torvalds nämner i något inlägg: självklart behövs en FPU idag, det är enklare att lösa den andel flyttal som faktiskt används via HW då det är rätt komplicerat att lösa via programvara, men FP-prestandan är för väldigt nära 100 % irrelevant. AMD hade dålig timing med K6, det var en bättre CPU än Pentium men just då slog 3D-spelen igenom så K6:ans låga FPU-prestanda (lågt även ställt mot Pentium som i sin tur var bedrövlig mot samtida RISC:ar) låg den i fatet för de som spelade.

K6:an var överspelad när GeForce släpptes, men finns lite tester med Quake 2/3 och just K6 fick en rejäl boost av HW-stöd för transform!

Adoreds senaste video pratar om +20% integer IPC för Zen3, det låter ju ganska lovande när man läser detta!

Får se vart det leder, men renoir kommer ju istället med lägre minneslatenser som också kan hjälpa för spel etc...

Än så länge står vi inte helt stilla i utvecklingen i alla fall!

Skrivet av medbor:

Det finns många som utvecklar olika delar för specialiserade områden, till exempel Google har egna varianter i sina datacenter, PS4 är ett annat exempel.

Linus bidrar i allra högsta grad, även om han inte skriver så mycket kod så ser han till att rätt kod hamnar i kärnan och bevakar andras arbete och löser dispyter. Tror du behöver kolla upp varför han köpte en threadripper, det var inte för att lira CS direkt... han sitter heltid med linuxkärnan och det har han gjort sen den skapades, ingen annan är mer kvalificerad för den roll han har!

Sony kör med *BSD (FreeBSD om jag minns rätt), och inte Linux som kärnan i PS-systemen.

Skrivet av martinot:

Sony kör med *BSD (FreeBSD om jag minns rätt), och inte Linux som kärnan i PS-systemen.

Finns utförlig artikel om PS4's operativsystem på Wikipedia.

https://en.wikipedia.org/wiki/PlayStation_4_system_software

TLDR: Det är en proprietär gren av FreeBSD 9.