En kritisk aspekt kring parallerisering: det är relativt "lätt" att få till på serversystem då man har väldigt mycket potentiell parallelism, varje session kan hanteras i stort sätt oberoende av övriga session och varje session är i praktiken enkeltrådat.
Så det är mer än en kostnadsfråga!
Zoomar man in på enskilda problem är det relativt vanligt att de mest effektiva algoritmerna är nära nog hopplösa att köra effektivt över flera kärnor. Så blir rätt snabbt "dimishing returns" att använda många kärnor på enskilda problem, där "enskilda problem" ska ses som t.ex. hantera en användarsession, ett spel, etc.
Självklart finns undantag, men dessa undantag har väldigt ofta en gemensam nämnare: de är data-parallella, inte uppgifts-parallella. Exempel på den förra är 3D-grafik, ray-tracing, vissa former av bildbehandling, vissa former av videoredigering. Exempel på det senare är kompilering och många serverlaster (som kan skalas väl) samt allt det som har "viss" parallellism men skalar lång ifrån linjärt (spel-logik är ett typexempel).
Grejen här är att data-parallella problem må skala rätt nära perfekt över CPU-kärnor, men börjar bli smärtsamt uppenbart att det ändå är fel väg! GPU, NPU och vissa FPGA lösningar är specifikt byggda för att lösa just data-parallella problem. Att använda dessa är ofta väldigt mycket en kostnadsfråga, det krävs typiskt rätt stort ingrepp i programvaran för att den ska fullt utnyttja möjligheterna.
Blender är ett väldigt bra exempel. Där har GPGPU-stöd funnits hyfsat länge, från start fanns en del problem där GPGPU inte var självklart bättre. Med tiden kom vi ändå till en punkt där GPGPU i princip alltid vad heltalsfaktorer snabbare.
I version 3.0 lanserades en rejält omdesignad GPGPU-motor och nu är Nvidias RTX GPUer 20-30 gånger snabbare än dagens CPU-toppmodeller (för konsumenter) från Intel/AMD. För den här typen av uppgifter är det fel att slänga mer transistorer på fler CPU-kärnor!
NPU:er för samma sak för maskininlärning och på serversidan kommer vi snart få in FPGA:er för att lösa smalare problemdomäner.
Ditt exempel med självkörande bilar innehåller flera element som är kraftigt data-parallella, så där går det absolut att göra saker på många kärnor. Men det ska vara GPUer eller motsvarande, inte CPUer!!!
NumPy är på många sätt en "modern" variant Matlab. Det är också ett ramverk som lämpar sig väldigt väl till data-parallella problem (datorseende och maskininlärning är två områden där NumPy är väldigt populärt). Detta ramverk gör det väldigt enkelt att använda många kärnor och även SIMD (SSE/AVX på x86). Även här har det tagit en del jobb att få till motsvarande på GPGPU, men finns nu ramverk där lite större problem ser >100 gånger högre prestanda med Nvidia GPUer jämfört med CPU på server-system!
Så för normalanvändaren blir det väldigt få fall där många CPU-kärnor är speciellt värdefullt. Ett noterbart undantag är kompilering, men ofta (i bra designade projekt) är det extremt sällsynt att man behöver bygga om speciellt stora delar, i det läget faller även detta fall tillbaka på att primärt vara begränsat av prestanda på enskilda kärnor. Då problemet är uppgifts-parallellt lämpar det sig illa för GPGPU-accelerering.
Vet inte om jag skulle hålla andan medan jag väntar på att Intel får till det du frågar efter. Däremot kommer Qualcomm presentera sin systemkrets under 2H detta år med produkter under 2023. Där återfinns framförallt en CPU-design från Nuvia, vilket gör den spännande av en rad orsaker
en av chefsarkitekterna för det som idag är Apple M1 är en av grundarna till Nuvia
Nuvia har gett indikationer på att man inte tänker matcha Apple, man ska kliva förbi dem
det Nuvia saknar är allt runt en CPU för att göra en "hel" systemkrets, detta är saker Qualcomm är riktigt bra på (man nämner bl.a. att man jobbat på en specialvariant av Qualcomms Adreno GPU)
Denna systemkrets är helt designad med Windows 11 som tänkt mål-OS. Bl.a. har Microsoft och Qualcomm jobbat väldigt tight ihop kring x86-64 "emulering" (som tyvärr är långt viktigare på Windows än på MacOS, redan idag är väldigt nära en fullständig övergång till "native" applikationer, men motsvarande övergång på Windows kommer antagligen ta minst ett decennium).
Så tycker man kan ha stora förhoppningar på Qualcomm, det trots den shit-show ARM64 på Windows varit så här långt. Det räcker inte med att göra något som har "OK" prestanda med bättre perf/W jämfört med AMD/Intel för att slå sig in på Windows marknaden. Det måste, likt när M1 lanserades hösten 2020, vara odiskutabelt bättre än andra produkter i samma segment. Givet vilket "dream-team" Nuvia verkar fått ihop så har de i alla fall potentialen att lyckas.