Door Marc Rademaker

Redacteur

Het huwelijk van gpu en cpu

Inleiding: heterogeen computeren

De Wet van Moore dicteert dat de dichtheid van het aantal transistors in een chip elke twee jaar verdubbelt. Deze wet ging decennialang op, maar er zitten grenzen aan de groei: vanaf 2013 zou elke verdubbeling wel eens een jaar of drie in beslag kunnen nemen. Bovendien nemen de prestaties van processors lang niet altijd evenredig met het aantal transistors toe.

Dus hoewel er nog wel wat rek in de transistordichtheid zit, zoeken Intel en AMD naar andere oplossingen om de prestaties van hun processors te verbeteren. Het vergroten van de transistordichtheid, en daarmee van het aantal transistors op een chip, is namelijk niet de enige manier om snellere chips te maken. Beide bedrijven gebruiken een steeds groter deel van hun chips voor de geïntegreerde gpu's, in plaats van voor de cpu. Met name AMD denkt dat de gpu meer kan dan alleen het renderen van 3d-beelden om spelletjes te kunnen spelen.

De cpu werd ooit ontworpen om een alleskunner te zijn, die een groot aantal verschillende - en complexe - instructies kan verwerken. Gpu's daarentegen zijn ontworpen om zoveel mogelijk data te kunnen verwerken. Als de data geschikt is voor parallelle verwerking, kunnen gpu's veel sneller werken dan de general purpose-cpu's, omdat ze over heel veel 'simpele' rekeneenheden beschikken.

Uiteraard zijn er meer zaken van invloed op de snelheid: zo is elke rekenkern tot op zekere hoogte afhankelijk van de beschikbaarheid van cachegeheugen en ook een branch predictor kan grote invloed op de snelheid hebben. Zulke onderdelen nemen echter weer veel transistors in beslag en kunnen dus niet onbeperkt aan de gpu-rekenkernen worden toegevoegd.

Beide typen processor hebben dus hun eigen specialisme, en de kunst is om een combinatie van beide zo goed mogelijk te benutten. Dat staat bekend als heterogeneous computing.

Cpu's kunnen wel overweg met parallelle code, aangezien ze tegenwoordig doorgaans twee tot zes rekenkernen aan boord hebben, die ook nog eens over hyperthreading beschikken. Het grote verschil zit hem in de efficientië. Een gpu maakt gebruik van het single instruction, multiple data-model, waarbij een control unit door meerdere rekeneenheden dezelfde instructie laat uitvoeren.

De verhouding van één control unit per 16 of 32 rekeneenheden blijkt zeer gunstig te zijn: met minder rekeneenheden wordt parallellisme onvoldoende benut, bij meer bestaat de kans dat er te veel rekeneenheden zonder werk komen te zitten als de data onvoldoende parallelliseerbaar is. En dat is zonde, want een gpu beschikt al snel over 1500 tot 2000 rekenkerntjes.

Vooralsnog wordt de rekenkracht van een gpu in veel gevallen nog onbenut gelaten. Zowel Intel als AMD wil daar verandering in brengen en sinds een jaar of wat zijn er processors op de markt die een cpu en een relatief krachtige gpu in dezelfde package bundelen. De integratie moet echter nog veel verder gaan: uiteindelijk is het de bedoeling dat programmatuur automatisch door de best geschikte processor wordt uitgevoerd.

Wat vind je van dit artikel?

Geef je mening in het Geachte Redactie-forum.

Nintendo Switch (OLED model) Apple iPhone SE (2022) LG G1 Google Pixel 6 Call of Duty: Vanguard Samsung Galaxy S22 Garmin fēnix 7 Nintendo Switch Lite

Tweakers vormt samen met Hardware Info, AutoTrack, Gaspedaal.nl, Nationale Vacaturebank, Intermediair en Independer DPG Online Services B.V.
Alle rechten voorbehouden © 1998 - 2022 Hosting door True

Tweakers maakt gebruik van cookies

Tweakers plaatst functionele en analytische cookies voor het functioneren van de website en het verbeteren van de website-ervaring. Deze cookies zijn noodzakelijk. Om op Tweakers relevantere advertenties te tonen en om ingesloten content van derden te tonen (bijvoorbeeld video's), vragen we je toestemming. Via ingesloten content kunnen derde partijen diensten leveren en verbeteren, bezoekersstatistieken bijhouden, gepersonaliseerde content tonen, gerichte advertenties tonen en gebruikersprofielen opbouwen. Hiervoor worden apparaatgegevens, IP-adres, geolocatie en surfgedrag vastgelegd.

Meer informatie vind je in ons cookiebeleid.

Sluiten

Toestemming beheren

Hieronder kun je per doeleinde of partij toestemming geven of intrekken. Meer informatie vind je in ons cookiebeleid.

Functioneel en analytisch

Deze cookies zijn noodzakelijk voor het functioneren van de website en het verbeteren van de website-ervaring. Klik op het informatie-icoon voor meer informatie. Meer details

janee

    Relevantere advertenties

    Dit beperkt het aantal keer dat dezelfde advertentie getoond wordt (frequency capping) en maakt het mogelijk om binnen Tweakers contextuele advertenties te tonen op basis van pagina's die je hebt bezocht. Meer details

    Tweakers genereert een willekeurige unieke code als identifier. Deze data wordt niet gedeeld met adverteerders of andere derde partijen en je kunt niet buiten Tweakers gevolgd worden. Indien je bent ingelogd, wordt deze identifier gekoppeld aan je account. Indien je niet bent ingelogd, wordt deze identifier gekoppeld aan je sessie die maximaal 4 maanden actief blijft. Je kunt deze toestemming te allen tijde intrekken.

    Ingesloten content van derden

    Deze cookies kunnen door derde partijen geplaatst worden via ingesloten content. Klik op het informatie-icoon voor meer informatie over de verwerkingsdoeleinden. Meer details

    janee