Intel eller Arm Mac, ur konsumentens synvinkel

Permalänk
Medlem
Skrivet av anon214822:

Bara föra att retas lite, men var är Schack och DVD-spelaren? Sedan fattas det ett gäng av verktygsprogrammen. Mera seriöst, hade jag sagt "allt" så hade alltid någon slått ner på det. Som du märker.

Det är en Apple presentation. Sliden måste se snygg ut.

Permalänk
Medlem
Skrivet av EntropyQ3:

Det är en Apple presentation. Sliden måste se snygg ut.

Varför har dom då lagt till en extra ikon på mittenraden? Mina ögon svider

Permalänk
Medlem
Skrivet av medbor:

Varför har dom då lagt till en extra ikon på mittenraden? Mina ögon svider

LOL! Du har rätt!
Argh, can’t unsee!
Känner åtminstone en Art Director som kommer att känna sig personligen förolämpad av Apple om hon får se det.
Fast den värsta stormen i det vattenglaset någonsin måste ha varit när Apple bytte systemfont från Chicago till Charcoal 1997. Det var en enorm systemuppdaterIng från System 7 till System 8, men det enda som diskuterades var det uppdaterade typsnittet. Som vanlig dödlig såg jag knappt någon skillnad alls, men volymen, och tonläget, i diskussionen om systemfonten tog död på all annan diskussion. Att ifrågasätta vikten av förändringen i jämförelse med allt annat som hände i uppdateringen innebar att omedelbart bli förklarad spetälsk, och blind, av båda sidor.

Permalänk
Inaktiv
Skrivet av Yoshman:

Jag tror folk gravt underskattar hur mycket bättre Apples ARM-baserade systemkrets kommer vara än allt vi idag har relaterat till bärbara datorer.

T.ex. nämndes detta i samband med WWDC20

"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."

Känns uttalandet sannolikt? Spontant skulle jag säga att det känns som skitsnack, men efter att spenderat de senaste dagarna av semester till att hårdstudera Vulkan och Metal APIerna (vad gör man annars under 2020 års hemester?) är jag helt övertygad om att det är precis vad som kommer levereras, bl.a. just för att Apple går all-in på sitt eget API som är helt designat runt "tile-based-renderinging" (något man om de ska nå sin fulla potential måste anpassa sig till redan på API-nivå, något både Vulkan och framförallt Metal gör)

Tile-based rendering i Vulkan, kritiskt för Android. Metal kommer framöver vara 100 % dedicerat till TBDR
"Among the features proposed by our mobile members was the renderpass — an object designed to allow an application to communicate the high-level structure of a frame to the driver. Tiling GPU drivers can use this information to determine when to bring data on and off chip, whether or not to flush data out to memory or discard the content of tile buffers and even to do things like size memory allocations used for binning and other internal operations. This is a feature that Mantle did not have, and is not part of Direct3D® 12 either."

Vidare. Här på forumen debatteras om kommande Zen 3 och Willow Cove kommer vara 10, 15 eller kanske till och med 25 % snabbare än Skylake och Zen 2 vid samma frekvens. Samtidigt utför Apples snart ett år gamla A13 ~80 % mer per cykel. Om vi antar att Apple har ungefär samma utveckling i deras A14 krets som kommer bli den första att hamna i Mac:ar så lär det kvitta rätt mycket om AMD och Intel når 10 eller 25 % högre IPC för Apple lär hamna på runt 100 %. Nu klockar inte Apples kretsar lika högt, men under last klockar även AMD/Intel kretsar ned sig till runt ~3 GHz vilket betyder att i program som faktiskt använder alla CPU-kärnor på en TDP-begränsad dator som en MacBook Air/Pro lär Apples CPUer vara väsentligt mycket snabbare under 2021 (storleksordningen 50-60 % snabbare om vi är optimister och förutsätter att Intel/AMD når hela 25 % högre IPC 2021).

Någon del av mig hoppas att ovan visar sig inte stämma. För om det stämmer kommer Apple ihop med TMCS ligga så långt före alla andra att de kan ta nästan vilken pris som helst. Tyvärr tror jag det är exakt där vi kommer vara 2021, bästa man kan göra som kund är hoppas inte Apples ARM-baserade Mac:ar blir allt för svindyra, betala och vara nöjd! Sedan är det faktiskt så att det mesta normalanvändaren gör på en bärbara skalar sällan förbi en/två trådar, i det läget kommer det vara betydligt mindre fördel för Apple då deras CPUer knappast lär klocka förbi 3,0 GHz.

Om vi antar att ryktena kring Willow Coves 4,7 GHz max boost stämmer och vi antar att Apple lyckas öka sin IPC ~20 % över A13 blir det faktiskt rätt jämt skägg mellan Intel och Apples CPUer i enkeltrådade fall. Men det ändrar inte att Apple kommer ha långt bättre prestanda i fall som använder många CPU-trådar (ryktet säger att MBP kommer få 12 kärnor, gissningsvis 4-8 "big cores" och resten "small cores", fast Apples small cores har IPC i Skylake/Zen 2 nivå...) samt ett klart övertag i GPU-prestanda. Och båda alternativen kommer få nuvarande Mac:ar att framstå som stenålders! D.v.s. kan du vänta med inköpet: gör det!

Såvitt jag förstått har ARM ett mindre instruktionsset än X86/AMD64, vilket är en bidragande faktor till den låga strömförbrukningen.

Detta i sin tur är en stor bidragande faktor till att man kan få ut bra prestande per watt, men kommer inte detta med bieffekten att CPU'n är mer specializerad till en grupp uppgifter än en CPU med ett större instruktionsset? I så fall, hur påverkar detta Apple? Och hur tacklas det av dem?

Är genuint nyfiken och du verkar ha bra koll

Permalänk
Medlem
Skrivet av anon6893:

Såvitt jag förstått har ARM ett mindre instruktionsset än X86/AMD64, vilket är en bidragande faktor till den låga strömförbrukningen.

Detta i sin tur är en stor bidragande faktor till att man kan få ut bra prestande per watt, men kommer inte detta med bieffekten att CPU'n är mer specializerad till en grupp uppgifter än en CPU med ett större instruktionsset? I så fall, hur påverkar detta Apple? Och hur tacklas det av dem?

Är genuint nyfiken och du verkar ha bra koll

Det var absolut fallet med gamla 32-bit arm och en begränsande faktor sett till prestanda, men nya 64-bit är en helt annan uppsättning jämförbar densitet i koden som andra moderna arkitekturer.

Faktum är att apple närmar sig 2x faktiskt arbete per cykel per kärna eftersom de kan exekvera mycket mer instruktioner per klockcykel

Permalänk
Datavetare
Skrivet av anon6893:

Såvitt jag förstått har ARM ett mindre instruktionsset än X86/AMD64, vilket är en bidragande faktor till den låga strömförbrukningen.

Detta i sin tur är en stor bidragande faktor till att man kan få ut bra prestande per watt, men kommer inte detta med bieffekten att CPU'n är mer specializerad till en grupp uppgifter än en CPU med ett större instruktionsset? I så fall, hur påverkar detta Apple? Och hur tacklas det av dem?

Är genuint nyfiken och du verkar ha bra koll

Ska man vara lite elak kan man säga att ARM64 har en instruktionsuppsättning som inte verkar designad dagen efter efter århundradets blötaste företagsfest, det till skillnad från x86...

Lite mer seriöst handlar det primärt om att x86 funnits väldigt länge samt vad som är högsta prioritet samt hur man bäst designar ISA har ändras rätt många gånger sedan 70-80 talen.

Denna veckas CppCast avsnitt är rätt intressant ur den aspekten. Personen som är gäst denna gång har bl.a. patent på teknik runt hur gamla ISA skulle kunna göras mer effektiva då många "gamla" instruktioner äter upp värdefullt utrymme i ISA, gamla instruktioner är typiskt kortare än moderna som t.ex. AVX.

"Microprocessor manufacturers typically keep old instruction sets in modern processors to ensure backward compatibility with legacy software. The introduction of newer extensions to the ISA increases the design complexity of microprocessor front-ends, exacerbates the consumption of precious on-chip resources (e.g., silicon area and energy), and demands more efforts for hardware verification and debugging. We analyzed several x86 applications and operating systems deployed between 1995 and 2012 and observed that many instructions stop being used over time, and more than 500 instructions were never used in these applications."

Traditionellt har en fördel hos "CISC" varit just att dessa kan beskriva ett visst program på mindre utrymme än "RISC" då den förra typiskt har variabel storlek på instruktioner och de vanligaste är väldigt korta. Skriver "CISC" och "RISC" inom citationstecken då det egentligen inte finns någon vettig definition av dessa, istället menar man nog om det är en "load/store ISA" eller ej. D.v.s. är det möjligt att ha minnesoperand(er) som källa/destination till aritmetiska operationer eller ej.

Just ARM är på många sätt inte en traditionell RISC då både 32-bit och 64-bit ARM faktiskt har många rätt komplexa instruktioner!

Med "load/store" definitionen är klassificeringen enkel x86 är inte en sådan (tillsammans med IBM z196, MC68k, 8502 och andra dinosaurier), medan ARM, ARM64, PowerPC, MIPS, SPARC, AVR m.fl. är "load/store". Däremot avviker just ARM (32-bit ARM) från traditionella RISC:ar i att programmen där normalt är väsentligt mer kompakta än egentligen alla andra.

Även om MIPS64 och PowerPC64 typiskt ger större kod-segment jämfört med x86_64, så är ofta x86_64 och ARM64 extremt snarlika. Om något är ARM64 något kompaktare.

Orsaken till att ARM64 inte är lika kompakt som 32-bit ARM beror på att det är två helt distinkta ISA och topprioritet för ARM64 är väldigt annorlunda jämfört med 32-bit ARM. Att x86_64 och ARM64 är ungefär lika stora beror rätt mycket på att x86_64 är onödigt stort då de instruktioner som faktiskt används idag i stor utsträckning inte är de som är optimalt kodade sett till storlek.

Två kritiska egenskaper skiljer sig rätt radikalt idag från 80 talen när både x86 och 32-bit ARM designades. Idag har normaldatorn flera CPU-kärnor, går inte längre att bara öka frekvens utan man måste öka mängd utför arbete per cykel samt idag skriver "ingen" människa program i assembler, utan allt går via en kompilator eller liknande.

Här är vad både x86 och 32-bit ARM fallerar mot ARM64: den senare är specifikt designad för att vara optimal att designa kompilatorer, man har specifikt designat ARM64 för att möjliggöra extremt hög IPC (just 32-bit ARM suger på denna punkt, x86 är långt sämre än ARM64 men suger inte fullt lika mycket som 32-bit ARM) och då all assembler "skrivs" av kompilatorer är det väldigt många av x86 mer komplexa instruktioner som i praktiken är totalt värdelösa då de är hopplösa att använda från en kompilator. ARM64 (samt även RISC-V) är specifikt designad för att optimera för dagens krav.

Att ARM traditionellt varit mer energieffektivt jämfört med x86 handlar nog primärt om att 32-bit ARM möjliggör extremt kompakt kod, bra för superenkla system med minimalt med cache. Men framförallt har det varit huvudfokus för tillverkare av 32-bit ARM, speciellt då instruktionsuppsättningen för 32-bit ARM är allt annat än optimalt om man vill designa en CPU med brutal IPC.

Orsaken att ARM64 är mer energieffektiv än x86 kommer nog mer av att den senare börjar bli extremt komplex då den innehåller brutalt med saker som idag är totalt irrelevant och de saker som är relevant kan inte längre kodas på ett effektivt sätt. Vidare är x86, precis som 32-bit ARM, designad innan man slog i taken för frekvensökning så man har egentligen inte alls designat instruktionsuppsättningen för maximal ILP (Instruction Level Parallellism, d.v.s. man har inte designat instruktionerna för att möjliggöra maximal IPC). ARM64 är specifikt designat för att möjliggöra just detta, så Apples A13 utför inte 80 % mer p.g.a. att AMD/Intel är clowner när det kommer till CPU-design utan det är primärt en effekt av att Apple (som i.o.f.s. också har en brutal FoU-budget) jobbar med en ISA som möjliggör långt högre IPC! Det medför bl.a. att man kan nå en viss IPC med lågt färre transistorer -> bättre perf/W.

Det ARM alltid kunna totalt köra över x86 är om det någonsin blir relevant med riktigt många CPU-kärnor för svensson. Till och med 32-bit ARM blir då bättre än x86 då det krävs betydligt färre transistorer för att nå en viss IPC med ARM jämfört med x86. Problemet 32-bit ARM alltid haft är att prestanda per CPU-kärna är långt viktigare än total prestanda över alla kärnor, 32-bit ARM passade illa för högt klockade designer med hög IPC men det är inte ett problem för ARM64.

Visa signatur

Care About Your Craft: Why spend your life developing software unless you care about doing it well? - The Pragmatic Programmer

Permalänk
Medlem
Skrivet av Det Otroliga Åbäket:

Det var ett väldigt självsäkert påstående, men jag tror inte riktigt du har rätt. Faktum är ju att Appleutvecklare på nuvarande betaversion av Xcode redan har det som behövs för att kompilera kod för Arm; de som är särskilt intresserade av att det ska fungera på dag ett har redan fått hyra testplattformar att prova sina program på, och använder du Apples rekommenderade systembibliotek ska portningsjobbet vara minimalt - möjligen så enkelt som att se till att Apple Silicon är valt som target platform för ditt program när du kör ett bygge.

Apples presenterade roadmap är att alla deras produkter kör deras egna chip om två år, så ingen framtidssäkerhet för x86-64 hos dem utöver mjukvarusupport för existerande maskiner i rimlig tid (se mitt tidigare inlägg). Vill du fortsätta köra x86 efter det är det realistiskt sett Linux, *BSD eller Windows som gäller.

Tänker Apple gå över till ARM även på de stationära burkarna?
Hur är det menat i så fall att man ska lösa exempelvis personer som inte vill/kan leva med integrerad GPU, utan exempelvis vill/måste ha dedikerat grafikkort? Går det "utan vidare" att stoppa in ett Nvidia eller ett AMD-kort i en ARM-baserad Mac?

Permalänk
Medlem
Skrivet av Networker:

Tänker Apple gå över till ARM även på de stationära burkarna?
Hur är det menat i så fall att man ska lösa exempelvis personer som inte vill/kan leva med integrerad GPU, utan exempelvis vill/måste ha dedikerat grafikkort? Går det "utan vidare" att stoppa in ett Nvidia eller ett AMD-kort i en ARM-baserad Mac?

Det behövs drivrutiner men utöver det tror jag inte det ska vara något problem (förutsatt då att hårdvara som kommunikationskanaler finns på plats). Nvidia har vad jag förstått redan byggt stöd för ARM till sina datacenter-kort.

Permalänk
Inaktiv
Skrivet av Networker:

Tänker Apple gå över till ARM även på de stationära burkarna?
Hur är det menat i så fall att man ska lösa exempelvis personer som inte vill/kan leva med integrerad GPU, utan exempelvis vill/måste ha dedikerat grafikkort? Går det "utan vidare" att stoppa in ett Nvidia eller ett AMD-kort i en ARM-baserad Mac?

Japp, ARM även för stationära burkar. Vad jag förstår även den egna grafiken för stationära burkar. Därmed inte uteslutet att man delar upp värmeutvecklingen i två chip, kallade CPU och GPU.

Kan man hantera värmeutvecklingen ser jag ingen fördel med dedikerat grafikkort. Att det är vanligt i PC-sammanhang är nog mest en följd av man sitter fast i ett gammalt byggsätt. Att kunna bygga ihop CPU och GPU var ju ursprungliga anledningen till att AMD köpte grafikkortstillverkaren ATI, innan dess hade man ingen GPU-verksamhet. Därav att man nu dominerar på konsoler med hopbyggda CPU+GPU.

Apple kan göra precis som dom vill och dom har resurserna för det. Verkar mycket sannolikt att det är både bättre och mer kostnadseffektivt med CPU och GPU på samma kiselbricka, kommunikationen mellan dom kan bli mycket snabbare och kräva mindre effekt.

Permalänk
Medlem
Skrivet av Networker:

Tänker Apple gå över till ARM även på de stationära burkarna?
Hur är det menat i så fall att man ska lösa exempelvis personer som inte vill/kan leva med integrerad GPU, utan exempelvis vill/måste ha dedikerat grafikkort? Går det "utan vidare" att stoppa in ett Nvidia eller ett AMD-kort i en ARM-baserad Mac?

Antagligen inte. Det råder fortfarande oklarhet om den framtida Mac Pro:n.
Men varför skulle du vilja stoppa i ett dedikerat grafikkort överhuvudtaget? PS5 och XBox sx kör integrerad grafik, och de verkar bli snabbare än något AMD har på marknaden just nu, och en spottloska ifrån det snabbaste som nVidia säljer.

Anledningen till att integrerad grafik på PC är kass, är att man tagit ett minnessystem som var avpassat för att mata ett par CPU-kärnor, hakade på mycket flera kärnor, och slänger sedan ovanpå det på en GPU. Och allt skall matas av ett minnessystem som har en tiondel av minnesbandbredden hos ett typiskt dedikerat grafikkort idag av högre nivå.
Det är klart resultatet blir kattskit. Inte nog med att bandbredden är helt otillräcklig, dessutom har CPU och GPU olika accessmönster till minnet och tenderar att blockera varandra.

Problemet är inte integrerad grafik i sig. Konceptuellt har det till och med fördelar, som till exempel de nya konsolerna kommer att dra nytta av. Problemet är att minnessystemen som man använder i PC produkter är gravt olämpligt.

Men Apple Silicon Macarna är inte PC-burkar. De har ingen anledning att bygga upp RAM minnet på samma sätt. Detta har ingenting med ARM vs. x86 att göra. Trots lågt pris kan AMDs nya konsolkonstruktioner prestera vida bättre än någon integrerad grafik på PC, därför att de inte är begränsade till den brutala flaskhals 128-bitars bussbredd till DDR4 innebär. Konsolerna har ungefär tio gånger (!) så hög minnesbandbredd.

Alla som sett Apples presentationer om de nya systemen (och har lite pejl på systemdesign) inser att deras utsagor om de nya Mac:arnas grafikprestanda kräver att de inte använder PC-standard minnesarkitektur. Vad det faktiskt kommer att innebära i praktiken återstår att se. Gissningsvis kommer portablerna att ha 128- eller 256-bitars bussbredd till LPDDR5, dvs två eller fyra gånger bandbredden som är tillgängligt för AMDs Renoir. Och det är svårt att ens gissa hur de stationära kommer att konfigureras.

Apple har dessutom fördelar i ett bandbreddssnålt sätt att bygga upp sina GPU:er, och att man t.ex. precis som på konsolerna inte behöver skyffla data mellan RAM och grafikkortets minne över PCIe. Minskat overhead.

TL:DR - Apples SoCs kommer att kunna leverera GPU prestanda som skulle krävt dedikerade grafikkort på PC. De kommer dessutom att ha coprocessorer på SoC:en som ytterligare accelererar en del funktioner som på PC ofta utförs av GPUer. Ingen vet idag precis hur kraftfull prestanda som kommer att levereras på deras olika modeller, bara att baslinjen kommer att ligga väsentligt högre än integrerad grafik på PC.

Permalänk
Skrivet av Networker:

Tänker Apple gå över till ARM även på de stationära burkarna?
Hur är det menat i så fall att man ska lösa exempelvis personer som inte vill/kan leva med integrerad GPU, utan exempelvis vill/måste ha dedikerat grafikkort? Går det "utan vidare" att stoppa in ett Nvidia eller ett AMD-kort i en ARM-baserad Mac?

De roadmaps som Apple presenterat nämner tydligt "förenad minnesarkitektur" vilket jag inte tror kan tolkas som något annat än att CPU och GPU delar minne. De pratar också om att flytta hela sin produktportfölj till Apple Silicon inom två år, vilket jag inte tolkar på något annat sätt än att de ser framför sig att ha något som ersätter även nuvarande Mac Pro (som kan utrustas med två dubbla workstation-GPU-enheter (4 GPU sammanlagt)) inom den tidsperioden. De har med andra ord gott förtroende i sin förmåga att uppnå "tillräcklig" prestanda med egen hårdvara och integrerade grafikkretsar.

Edit: "Vill" och "måste" är inte nödvändigtvis samma sak. De leker inte på Nvidias villkor vad gäller maskininlärning, exempelvis - vill du ha något sådant kör du ändå Linux och PC/server-hårdvara och inte Mac idag. Möjligen (troligen?) uppstår en egen nisch i det området nu när Macar per definition innehåller en egen ML-motor direkt i processorn.
I övrigt handlar det ju bara om hästkrafter och gott användande av hårdvaran, där Apples föredragna väg framåt är Metal.