Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

Google Cloud Platform gebruikt onaangekondigde Skylake-Xeons met avx-512

Door , 31 reacties

Google claimt de eerste cloudaanbieder te zijn met een nieuwe generatie Intel Xeon-processors op basis van de Skylake-architectuur. De processors hebben ondersteuning voor avx-512. Intel heeft nog geen Xeon-chips aangekondigd die dit hebben, maar waarschijnlijk gaat het over Skylake-EP.

Klanten van Google Cloud Platform in de VS, Europa en Azië kunnen de Skylake-processors met avx-512 gebruiken, meldt Google. Volgens het bedrijf zorgen de chips voor dubbel zo hoge floatingpoint-prestaties als de vorige generatie Xeons en zijn ze daarom onder andere geschikt voor simulaties, genoomonderzoek, 3d-rendering en data-analyse. Volgens Intel zijn de processors geoptimaliseerd voor de virtuele machines van Googles Compute Engine, maar niet duidelijk is waar de optimalisaties uit bestaan.

Intel kondigde avx-512 in 2013 aan. De instructieset ondersteunt acht double precision of zestien single precision floatingpoint-getallen in de 512bit-vectors. Tot nu toe ondersteunde alleen de Xeon Phi-accelerator met codenaam Knights Landing de instructieset.

Wel is al bekend dat Intel halverwege 2017 de Skylake EP/EX-generatie met avx-512 uit gaat brengen. Chips uit die generatie, met codenaam Purley, zullen uitkomen onder een Xeon E5-26xx v5-naam. Volgens recente geruchten komt er een versie met 32 cores hoewel eerdere roadmaps het over een maximum van 28 cores hadden. De chips moeten de concurrentie met AMD's Naples-processors aangaan. De krachtigste chip daarvan krijgt eveneens 32 cores.

Olaf van Miltenburg

NieuwscoŲrdinator

27 februari 2017 08:22

31 reacties

Linkedin Google+

Reacties (31)

Wijzig sortering
Om de gesuggereerd performance winst te behalen moet je wel over programmatuur beschikken die van de AVX-512 instructies gebruik maakt. Vooralsnog ben je dan overgeleverd aan het schrijven van je eigen code in assembly of in c/c++ gecompileerd met de Intel compiler.

Hier ga je als eindgebruiker van de Google cloud dan ook helemaal niks van merken, het is wat dat betreft niet meer dan een publiciteitsstunt van een nog niet eens aangekondigde CPU met een verdachte timing zo net voor de officiŽle release van Ryzen.

Google zelf zou hier wel gebruik van kunnen maken door bijvoorbeeld hun SSL implementatie gebruik te laten maken van de nieuwe AVX-512 instructies. Of op z'n mist de SSL library (bijvoorbeeld OpenSSL) met AVX-512 optimizaties te compileren.

[Reactie gewijzigd door codeneos op 27 februari 2017 10:03]

Het zal niet zo heel lang duren voordat gcc dit ook heeft. :-) Met AVX1 en AVX2 duurde het ook niet zo lang. :-)

edit, het zit al in GCC 5 :-D

https://gcc.gnu.org/gcc-5/changes.html

[Reactie gewijzigd door hooibergje op 27 februari 2017 09:36]

Check, dat had ik niet gezien. Thanks voor de aanvulling :)! Al denk ik dat je met de ICC (Intel C compiler) nog net iets meer performance uit zo'n Intel CPU weet te persen. ICC heeft, volgens Intel, extra optimizations waardoor het betere code zou moeten genereren. Helaas zijn er geen recente benchmarks die dit toetsen.

De AVX-512 instructieset bestaat uit 7 groepen van instructies die als het ware een aanvulling zijn op AVX2/AVX. Encryptie software als openSSL (en dus ook webservers met SSL) zouden hier baat bij hebben. Intel legt in het volgende artikel uit welke verschillende instructies AVX-512 toevoegt en hoe je voor een CPU of Xeon Phi compiled met de ICC.

Ter aanvulling, de Xeon Phi en Xeon Skylake CPU hebben niet helemaal dezelfde AVX-512 instructies, zo heeft de Xeon CPU niet de PF (Prefetch) en ER (Exponential and Reciprocal) instructies die wel op de Xeon Phi aanwezig zijn. In plaats daarvan heeft de Xeon CPU 3 extra instructiegroepen die de Xeon Phi weer niet heeft:
  • BW covers 8-bit and 16-bit integer operations.
  • DQ new 32-bit and 64-bit AVX-512 instructions for enhancing integer and floating-point operations.
  • VL (Vector Length) extends most AVX-512 operations to also operate on XMM (128-bit) and YMM (256-bit) registers, instead of only ZMM (512-bit) registers.

[Reactie gewijzigd door codeneos op 27 februari 2017 10:14]

The ICC staat wel dichter aan het haardvuur, dus dat zal inderdaad wel wat verschil maken. Dank voor het artikel.
Je hebt ook nog clear Linux. Distribution van Intel die met extra optimalisaties gebouwd is. Ondersteunt daardoor ook alleen nieuwere hardware (Haswell en later iirc)
Enig idee waar de verschillen / overeenkomsten zijn met ARM's SVE?

Als ik het begrijp van die mogelijk tot 2048 bit registers gebruiken, maar kan software geschreven voor 128 bit registers 'automagisch' op 2048 bit hardware draaien en daar gebruik van maken en andersom, maar mogelijk dat de praktijk helemaal niet zo goed werkt.

https://www.extremetech.c...ew-vector-instruction-set
Je hoeft niet in assembly te programmeren, je kan intrinsics gebruiken.
Alle grote compilers (Intel, MSVC, GCC, LLVM/CLANG) ondersteunen SSE/AVX intrinsics.
Dat is waar, maar het is dan nog steeds belangrijk dat je compiler bekend is met de AVX-512 instructieset anders ga je er geen voordeel uithalen. Dat neemt niet weg dat je met goede (inline) assembly code kan schrijven die sneller is.
Dat schijnt best wel tegen te vallen.
Compilers zijn erg goed geworden in wat ze doen en je zal behoorlijk je best moeten doen om uberhaupt de runtime performance te matchen.

Daarnaast mappen de SSE/AVX intrinsics 1-op-1 naar assembly instructies, dus je gaat er geen winst uit halen door het in assembly te doen.
Hier vind je in een handige site waar je per instructieset en categorie instructies kunt zien wat voor intrinsics er allemaal zijn.
Bedankt voor deze aanvulling. Ik vroeg me al af hoe dan! :)
Ach, wat wel handig is als je toch in een beslissingsfase zit met een project, je alvast je hardware platform klaar hebt voor je komende software stack. Dat is vooralsnog het enige voordeel die ik zie in deze aankondiging. :)
Misschien komt er wel een optie binnen GCE om AMD (Naples) cpu's in te zetten voor servers en dat de prijzen van deze servers dan stukken lager liggen dan de Intel servers maar met de zelfde performance.
Hier ga je als eind gebruiker van de Google cloud dan ook helemaal niks van merken, het is wat dat betreft niet meer dan een publiciteitsstunt van een nog niet eens aangekondigde CPU met een verdachte timing zo net voor de officiŽle release van Ryzen.
Zoiets van ja jullie hebben nu Ryzen en dat zou op kunnen tegen onze i3, i5 en i7 maar wij hebben ook nog iets snellers hoor: de Xeon's. En als het gewoon waar is dat Google deze cpu's al heeft dan betreft het misschien ook nog gewoon een pre-productie-serie voor testdoeleinden. Ik weet niet of dat bij cpu's gebruikelijk is maar bij andere producten (auto's, camera's, ...) wel.

[Reactie gewijzigd door BeosBeing op 27 februari 2017 09:14]

Dat hangt er natuurlijk heel erg vanaf aan welke doelgroep Google deze diensten gaat verhuren. Als dat aan wetenschapsinstituten of pharma is dan zie ik het wel goedkomen.
...het is wat dat betreft niet meer dan een publiciteitsstunt van een nog niet eens aangekondigde CPU met een verdachte timing zo net voor de officiŽle release van Ryzen.
Hoezo is dat verdacht? Concurrentie is alleen maar goed en volgens mij richt AMD zich met de Ryzen CPU's eerder op desktop CPU's dan server CPU's. Ze worden immers met Core i5 en Core i7 CPU's vergeleken overal, niet met Xeon's.
Idd, verdacht is het voor mensen met hoedjes op.

google is een groot onafhankelijk bedrijf dat kijkt naar wat voor hun op dat moment het beste is. Schijnbaar heeft intel voor google de juiste cpu op dit moment.
Google gaat daarbij zeker niet over 1 nacht ijs en zal ook regelmatig kijken wat amd te bieden heeft of arm gebaseerde chips.

Maar voor de hoedjes mensen intel geeft deze chips waarschijnlijk weg aan google zwaar onder de kostprijs zodat ze met dit bericht kunnen komen.
Google krijgt misschien korting, maar waarom zou Intel server processors (waar goede marges op zitten) onder kostprijs weggeven...?!
zeg onder kostprijs voor de mensen met de aluhoedjes die dat zullen roepen zodat intel amd een loer kan draaien.
Dat is niet waar je kan gewoon de "Intelģ Math Kernel Library" ondersteunt AVX-512, welke de basis vormt van veel reken intensive applicaties, b.v. Matlab. Tegenwoordig kan je deze zelfs in je eigen software gebruiken op basis van een community licentie.
True, maar de google cloud is groter dan alleen het Xoen Skylake cluster. Je krijgt geen directe toegang tot de hardware dus het wordt erg lastig om direct gebruik te maken van die nieuwe instructies.
Je hebt natuurlijk ook nog de kans dat het door het OS en/of de runtimes opgevangen kan worden. Hoewel je voor goede performance natuurlijk niet een een of ander scripting taaltje gaat werken kan je bijvoorbeeld wel met bridges tussen verschillende talen gebruik maken van low-level bibliotheken in code die je niet zelf gemaakt hebt maar die wel geoptimaliseerd is.
Nou nee er zijn ook Math libraries die dit beschikbaar maken voor regulier devs.

Zo maak ik ook gebruik van SSE SSE 2 zonder zelf SSE intrinsics toe te passen.
Maar gewoon de Directx gangbare Mathlibary
Maar er zijn meer Mathlibraries die wel AVX ondersteunen en die dus ook AVX512 gaan ondersteunen.

Matrix math lib van 3D games onder Direct3D maken gebruik van SSE.

Ik had de depricated versie vervangen door laaste. Een debug oefening gezien ze niet 1 op 1 vervangbaar zijn.
Maar je kan ook thirdparty libs zoals de Eigen Mathlib toepassen. En er zijn nog vele andere Mathlibs.

Vaak is de Lib niks anders dan C++ Header
Zijn dit niet de processoren waar 3 maanden geleden over werd bericht?
Jup, en ik ben het geheel met hem eens, dit is echt een slechte move van Intel, die zeker geen vrienden maakt en mensen naar AMD gaat sturen.
Gaat wel zeer snel die serverchips van Intel; eind 2015 een tiental Cisco C240's M4 gekocht met E5 V3, paar maanden later kwam de V4 uit en dit jaar reeds de V5, lijken wel consumentenproducten.

De V4 CPU's zijn compatible met onze servers, iemand een idee of deze V5 ook backwards compatible zijn?
nee die hebben een andere chipset
Vraag mij af of Naples van AMD ook al AVX512 toepast

Op dit item kan niet meer gereageerd worden.


Apple iPhone X Google Pixel XL 2 LG W7 Samsung Galaxy S8 Google Pixel 2 Sony Bravia A1 OLED Microsoft Xbox One X Apple iPhone 8

© 1998 - 2017 de Persgroep Online Services B.V. Tweakers vormt samen met o.a. Autotrack en Hardware.Info de Persgroep Online Services B.V. Hosting door True

*