Skrivet av Petterk:
Är det relevant för någon som gör en TV eller någon som gör en bilstereo? Smartklocka? Eller ens mobiltelefon?
För mobiltelefoner är det inte bara relevant, det är direkt kritiskt givet hur viktigt prestanda/W är där och givet allt fler funktioner som passar riktigt bra för GPGPU. Vissa saker avlastas i allt större utsträckning till än mer specifika kretsar, som t.ex. NPUer, men GPGPU är mer flexibelt och redan där är prestanda/W runt en tiopotens bättre än att göra motsvarande på CPU (det på en ARM64 CPU...).
Har inte jobbat med infotainment, så kan inte säga något med säkerhet. Lite sökningar på Tizen och GPGPU får ger en hel del frågor runt just detta. Enligt Tizens informationssida används detta OS primärt till smarta klockor, TV samt infotainment i bilar.
Huvudproblemet folk verkar ha med GPGPU i Tizen är riktigt uselt nivå på programvara. Drivarna har OK OpenCL stöd, men OpenCL är en direkt katastrof att utveckla i (brutalt med boilerplate jämfört med CUDA, SyCL och Metal Compute). Vissa verkar sätta hoppet till Vulkan Compute, det förenklar driver-delen (man slipper separata driver för OpenGL resp. OpenCL som varit fallet innan) men Vulkan Compute är också extremt plottrigt jämfört med CUDA, SyCL och Metal Compute.
Vulkan Compute är vettigt för GPGPU i program som redan använder Vulkan för 3D, men det är ingen höjdare som "rent" GPGPU bibliotek. Ljusningen är att det filas på en Vulkan Compute baserad back-end till SyCL, bl.a. för att få vettigt stöd för AMDs GPUer i SyCL (Intel och Nvidia stöds via Intels OneAPI, Intel använder OpenCL som backend och Nvidia använder CUDA).
Tizen används också för att avläsa ansikten, bl.a. i bilar för att avgöra om föraren börjar bli trött, detta använder typisk OpenCV -> långt mer effektiv att hantera via GPGPU än via CPU.
Detta är typexempel på saker där CUDA är milsvid före allt annat, men förutom programvara finns det absolut inget hinder att göra detta med Mali. Arm har pushat Mali för GPGPU mer än 5 år just p.g.a. överlägsen både prestanda och prestanda/W över motsvarande på CPU.
Android anser GPGPU vara så viktigt att man skapat en direkt konkurrent till iOS Metal Compute: Renderscript. Tyvärr verkar inte Renderscript fått speciellt mycket momentum, antagligen då det är helt bundet till Android och existerande bibliotek använder primärt CUDA och i andra hand OpenCL (som kan används på Android via NDK).
Kort och gott: CUDA stöd för Mali skulle ge den kretsen rejält med fördel både på Tizen och Android, kanske inte primärt så att man kommer programmera CUDA direkt utan indirekt då i princip allt som är accelererat via GPGPU idag har en CUDA integration.
Skrivet av Petterk:
Klart det spelar roll. ARM är inte bara en ISA och de gör inte bara mikrokontrollers, så jättelångt har inte RISC-V kommit än.
Där RISC-V kommit klart lägst är just mikrokontrollers och vad jag har läst beror det specifikt på licensmodellen: är för produkter med brutalt små marginaler och väldigt höga volymer där Arm har svårast att konkurrera med den öppna/fria RISC-V modellen
För mer avancerade applikationer är andra saker mer kritiska. Givet hur moget grundläggande verktyg är för ARM64, i de flesta fall helt i nivå med x86_64, är bara det skäl nog att betala för en licens.
Skrivet av Petterk:
Frågan är mer vad Nvidia har för drivkraft att utveckla IP till deras konkurrenter. Qualcomm kommer börja med egna kärnor igen, och de inom nätverk/server lär satsa vidare på egna kärnor. Huawei får fortfarande inte tillverka några kretsar. De som är intresserade av att designa processorer kan också göra IP-kärnor de licensierar ut till de som är intresserade att skaffa ARM ISA-licens och då förlorar ARM sin roll.
Trenden har väl snarare gått åt motsatt håll, framförallt inom nätverk/servers?
Varken Samsung eller Qualcomm har längre egna CPU-designer, de hängde inte med Arms Cortex A serie när de började fokusera mer på absolut prestanda. Qualcomm lär i.o.f.s. gå till en egen design framöver, köpet Nuvia vore poänglöst annars.
Arm på servers gick otroligt segt fram till Arm lanserade "Neoverse". AWS och Ampere computing har båda ARM-baserade servers som kan utmana det bästa Intel/AMD har, båda dessa Arm-serverlösningar är baserade på Neoverse N1. Ampere computing ha redan sagt att nästa generation kommer bygga på Neoverse V1 (server-varianten av Cortex X1) samt Neoverse N2.
Nu beror det lite på vad "nätverk" refererar till, men Cortex A53 och Cortex A55 är ju superpopulära kretsar för just nätverksprodukter.
Nvidia har 40 miljarder anledningar att säkerställa att Arm kan fortsätta sin affärsmodell. Vore man bara ute efter att designa egna ARM64 kompatibla kretsar är det långt billigare att skaffa en licens. Så poängen för Nvidia måste rimligen vara att bättre kunna styra Arms IP-utveckling i en riktning som gynnar Nvidia, borde vara väldigt mycket samma bäring som Amazon, Ampere Computing och även Apple vill att Arm ska gå mot.
Även Qualcomm borde vilja se samma riktning, för dem är huvudproblemet att deras serversatsning (för de lär satsa på servers med Nuvia) kommer nog få tuffare konkurrens från Arms Neoverse om Nvidia sitter vid rodret då Nvidia är väldigt sugna på att kunna erbjuda helhetslösningar för datacenter. Hoppas också att både Qualcomm/Nuvia samt Nvidia/Arm vill ge sig i kast med Apple, AMD och Intel på desktopsidan.
TL;DR Vad vore den affärsmässiga rimligheten för Nvidia i att sabba Arms nuvarande affärsmodell? Vad betalar man då $40 miljarder för?