Achtergrond

Hoe programmeer je duizenden cores tegelijk?

Pieter Hijma promoveerde in juni aan de Vrije Universiteit Amsterdam op de stepwise refinement for performance-methode. Zijn proefschrift, getiteld ‘Programming many-cores on multiple levels of abstraction’, is online beschikbaar. Henri Bal is hoogleraar informatica aan de VU en trad op als promotor van Hijma. Het proefschrift van Ben van Werkhoven is getiteld ‘Scientific supercomputing with graphics processing units’ en is eveneens online beschikbaar.

Reading time: 9 minutes

Bij het programmeren van multicoresystemen moet de ontwikkelaar een lastige keuze maken: op hoog abstractieniveau blijven, met mogelijk gevolgen voor de performance, of afdalen naar de architectuurdetails, waardoor de code weer minder generiek en vaak lastiger te begrijpen wordt. De UvA ontwikkelde een aanpak om programmeur en compiler samen de gevolgen van deze uitruil te laten verkennen.

Supercomputers gebruiken steeds vaker manycores voor grootschalige berekeningen. De krachtigste supercomputer van dit moment (zie de top 500 van supercomputers), de Chinese Tianhe-2, gebruikt daarvoor de Intel Xeon Phi. Deze is gebaseerd op een Pentium-architectuur van zo’n tien jaar geleden, maar elke chip bevat rond de zestig processoren met elk ook nog zestien vectoreenheden, goed voor een totaal van rond de duizend rekenkernen per chip. De nummer twee in de top 500 (Titan, van Oak Ridge National Lab) gebruikt gpu’s van Nvidia, die oorspronkelijk voor computergraphics zijn ontworpen. Moderne gpu’s hebben vele duizenden rekenkernen.

Kenmerkend voor beide vormen van manycores is dat ze volledig inzetten op grootschalig parallellisme: elke rekenkern is vele malen langzamer dan een rekenkern van een gewone moderne cpu, maar door er duizenden tegelijk op één chip te hebben (en miljoenen in een supercomputer) kunnen spectaculaire prestaties worden bereikt.

This article is exclusively available to premium members of Bits&Chips. Already a premium member? Please log in. Not yet a premium member? Become one for just €20 for the first year and enjoy all the benefits.

Login

Related content