Skrivet av Aleshi:
Vanliga Zen ska komma 2016, denna best som nyheten handlar om som ska komma 2017, om den är äkta, kommer inte ha någon som helst konkurrens inom sin nisch från någon annan enskild produkt på marknaden. Ingen annan kan leverera en så kraftig APU med ordentliga X86-processorer.
"Nischen" i detta fall är väl HPC? Där finns rätt mycket konkurrens och är rätt svårt att sia om vad som finns på marknaden 2017.
Kör man lite "number game" så har redan idag POWER8 en "peak" bandbredd mot RAM på 410GB/s (vilket ska jämföras mot HSB bandbredden på 512GB/s) och en "sustained" bandbredd på 230GB/s (att jämföra med 102GB/s för AMD), det med DDR3! POWER8 plattformen stödjer även DDR4 men finns ingen sådan lanserad än. Idag finns ungefär dubbelt så många POWER-baserade system på superdatorernas Top500 jämfört med Opteron-baserade, så POWER är definitivt en relevant jämförelse när man pratar HPC, för "vanliga" servers ligger POWER i en dyrare liga jämfört med typiska x86-servers. 2017 kan POWER9 vara lanserad (nuvarande plan är just 2017) och till den verkar IBM ha något samarbete med Nvidia kring Pascal.
Inget är känt kring flyttalsprestanda i AMDs framtida design, det som räknas för HPC är prestanda i double-precision. Redan idag får Xeon E5 upp till 800GFLOPS med AVX och om vi antar att klockfrekvens/antal kärnor inte ändras fram till 2017 så kommer ändå Skylake få ~1600GFLOPS per CPU-sockel med AVX512 och det på en TDP <150W. För HPC är typiskt driftkostnaden >80% av TCO och kostnad för el är den enskilt största faktor för driftkostnad, så med en TDP på 300W ska man nog jämföra med två Xeon E5.
Sedan kommer frågan hur man det är tänkt att man ska utveckla program för detta system. En annan stor kostnad för HPC är att kärnan i programvaran i praktiken måste specialskrivas för varje CPU/GPU-familj. CUDA är så populärt då det ger bättre prestanda än t.ex. OpenCL, att CUDA är låst till Nvidia är irrelevant då man alltid blir låst till den GPU man väljer. Även om man kör OpenCL får man ändå ett program som är relativt hårt bundet till en specifik plattform. OpenCL programmen går att köra på i stort sätt alla system, men man måste ta väldigt mycket hänsyn till underliggande HW för att programmet ska köras optimalt. Samma algoritm kan därför behövas implementeras rätt olika beroende på om det handlar om AMD FirePro, Nvidia Tesla, Intel Phi AVX512, AVX/SSE på "vanlig" CPU, etc. Även mellan t.ex. Nvidia Fermi och Maxwell kan det krävas rätt stora omstuvningar i programmet för att det ska köras optimalt.
Är just möjligheterna kring programvaruutveckling som gjort Xeon Phi så populär. Tittar man på teoretisk prestanda så var Xeon Phi redan vid lansering akterseglad av Nvidia Tesla och AMD FirePro, men Xeon Phi kör en full Linux-kärna på kortet så programmeringsmodellen är mer lik AVX-programmering på en "vanlig" CPU än programmering av en GPU. Det gör det klart lättare att i praktiken nå nära teoretiskt max med Xeon Phi än att göra samma sak på en GPU. Xeon Phi gör det även möjligt att använda saker som OpenMP, OpenMPI och en del andra "vanliga" ramverk för multicore-programming som inte är vettigt för en GPU.
Så finns en del frågetecken kring hur man tänkt sig att Zen för HPC ska programmeras. Det positiva är i alla fall att en iGPU sitter "närmare" (lägre kommunikationslatens) CPU-delen så ur det avseendet är det enklare att jobba med en iGPU än att jobba med en dGPU. Programmeringsmässigt är en CPU (med SSE/AVX) lättare att jobba med än Xeon Phi som (i de flesta fall) är lättare än iGPU (iGPU har fördelen att komma åt allt CPU RAM, det kan inte Xeon Phi) som är lättare än dGPU. "lätt" är kanske fel ord, de som jobbar med HPC får lägga rätt mycket krut på just optimering av programvara och det krävs väldigt detaljerad förståelse för underliggande HW för att få ut maximalt av systemet.
Skrivet av Aleshi:
Antalet kärnor är inte det som är grejen. HBM och enorm grafikdel är grejen. Lite som att säga "Låg strömförbrukning på Maxwell är väl kul, men inget nytt med unified shaders, det hade AMD redan 2007." Lite att missa poängen med andra ord.
Exakt, ska bli intressant att få se lite mer konkreta prestandasiffror på denna design. Det som spelar väldigt stor roll för dagens HPC är perf/W, ju mer integrerat saker är desto bättre brukar perf/W vara så här finns helt klart potential för denna HPC Zen-plattform!
Ska man göra några gissningar kring Zen baserad på vad som finns nu är informationen i denna artikel positiv. Relativt liten L2-cache som är separat per CPU-kärna är något som visat sig vara en väldigt bra design, många hade (negativa) åsikter kring det designvalet när Nehalem lanserades men det visade sig att låg latens (vilket kräver liten och core-specifik cache) är i praktiken långt viktigare än en större cache. Sedan lansering av Nehalem har även POWER (sedan POWER7) och SPARC (sedan Niagara T4) gått från en relativt stor L2$ som delas mellan kärnor till en liten L2$ som är separat per kärna.
Att man hela tiden pratar om "block om 4 kärnor" låter lite oroväckande. Ska Zen ha någon relevans på bärbar enheter lär man behöva en version med 2 kärnor + SMT då den konfigurationen är billigare och strömsnålare än 4 kärnor. 2 kärnor / 4 trådar är fullt tillräckligt för en förkrossande majoritet, vilket syns i hur Intel prioriterar sina 4-kärniga mobila CPUer, de lanseras rätt långt efter de 2-kärniga. Frågan om man ens bryr sig om att lanserar några 4-kärniga mobil-CPUer på Broadwell. I lägen där TDP är begränsade faktor kan 2 kärnor i praktiken prestera bättre än 4 kärnor för typiska "desktop"-uppgifter, framförallt när CPU-kärnorna delar TDP-budgeten med en iGPU.