ID.nl logo
Zekerheid & gemak

GPGPU: Zo helpen grafische kaarten de wetenschap vooruit

Grafische kaarten zijn niet alleen interessant voor gamers, maar ook voor de wetenschap. De vele rekenkernen die nodig zijn om de mooiste spelwerelden tevoorschijn te toveren, zijn bijvoorbeeld ook uitermate geschikt voor DNA-onderzoek. PCM zoekt het uit.

Door de hoge snelheid waarmee de grafisch processor (gpu) kan rekenen kunnen er 3D-werelden worden gecreëerd met gedetailleerde en grote weidse vlaktes om in te verdwalen. Om deze werelden te kunnen zien, bestaat elke 3D-wereld uit punten die gecombineerd vlakken vormen en daardoor als herkenbare objecten op het scherm komen. Lees ook: Linux 4.10 ondersteunt virtuele gpu's.

GPU in games

Als je in een spel met een slagschip over een virtuele zee vaart, bestaat alles geheel uit een verzameling van deze punten en vlakken. Het aantal punten dat tijdens het modelleren van het schip wordt gebruikt, heeft invloed op de hoeveelheid details die je van het schip ziet. Om dan een brandslang er rood en beschadigd uit te laten zien en op het dek van het schip een houten vloer te kunnen zien liggen, worden over alle vlakken afbeeldingen gelegd. Vergelijkbaar met een autodeur die je met een heel grote sticker beplakt.

Bij het bewegen van het schip worden alle punten opnieuw berekend, wat in de huidige spellen al snel kan oplopen tot zestig keer per seconde. Om al deze berekeningen zo snel uit te kunnen voeren, wordt er van zoveel mogelijk cores van een gpu gebruikgemaakt. Bij de meest recente grafische kaarten worden al processoren gebruikt met ruim 3800 cores (rekenkernen) aan boord, wat veel berekeningen tegelijkertijd mogelijk maakt om zo ontzettend veel detail in de 3D-werelden aan te brengen.

©PXimport

GPGPU

Doordat de gpu steeds krachtiger wordt, is het interessant geworden om ook ándere rekenintensieve applicaties gebruik te laten maken van de gpu. Door middel van ‘General-Purpose computing on Graphics Processing Units’ (GPGPU) is het mogelijk om software te schrijven die op de gpu wordt uitgevoerd. Taken die van origine op de cpu uitgerekend werden, zijn nu met aanzienlijke tijdswinst door de gpu uit te voeren. Je zou in eerste instantie denken dat de hoeveelheid cores hiervoor verantwoordelijk is. Het verschil in snelheid wordt echter voornamelijk veroorzaakt door de sterk afwijkende architectuur tussen beide processoren.

Van oorsprong heeft de cpu de taak om berekeningen uit te voeren evenals om alle componenten binnen de computer en de aangesloten randapparatuur aan te sturen. Om de verschillende taken in goede banen te leiden, heeft de cpu onder andere de mogelijkheid om bepaalde taken tijdelijk in de wacht te zetten en andere taken voorrang te geven. Denk hierbij aan het registreren van een toetsaanslag of het uitvoeren van een berekening met prioriteit. 

Ieder programma krijgt in de vorm van een thread om de beurt rekentijd

Deze eigenschap zorgt ervoor dat meerdere programma’s naast elkaar op de computer kunnen draaien. Ieder programma, in de vorm van een thread, krijgt om de beurt wat rekentijd en kan zo de benodigde berekeningen uitvoeren. Threads zorgen voor een afgebakende omgeving waarbinnen de programmacode wordt uitgevoerd.

Door voor rekenintensieve programma’s meerdere threads te starten, kunnen de threads op een cpu met meerdere cores verdeeld worden over de beschikbare cores. Hiermee voorkomt de applicatie dat het zelf bevroren op het scherm staat en verhoogt het de snelheid waarmee gerekend wordt.

Het cachegeheugen

De gegevens waarmee gerekend wordt, staan opgeslagen in het interne geheugen van de computer. Dit is relatief traag geheugen, doordat het buiten de cpu geplaatst is. Daarnaast is er tijdens het productieproces gebruikgemaakt van zeer verfijnde technieken, die het mogelijk maken om op een klein oppervlak zeer veel geheugen te creëren, wat wel ten koste gaat van de snelheid. De wachttijd voor het benaderen van dit geheugen kan daardoor oplopen tot honderden processor-kloktikken. 

Processorfabrikanten lossen dit op door in de cpu zelf snel cachegeheugen aan te bieden, waardoor er nog maar vier processorkloktikken nodig zijn om een berekening te voorzien van gegevens. Omdat dat cachegeheugen kostbaar is en er niet oneindig ruimte beschikbaar is binnen de chip, maken weinig geraadpleegde gegevens ruimte voor gegevens die vaker nodig zijn. Deze weinig geraadpleegde gegevens moeten dan wel, wanneer ze opnieuw geraadpleegd worden, weer uit het tragere intern geheugen worden gehaald. 

De groeiende hoeveelheid cachegeheugen van moderne processors verkleint de kans dat een waarde niet meer in de cache past: een belangrijke reden waarom computers sneller worden. Programma’s hebben daardoor vaker direct toegang tot gegevens uit het cachegeheugen wat de algehele prestatie van de computer vergroot.

Verschil CPU en GPU

Een gpu heeft, net als de cpu, de beschikking over cachegeheugen en kan ook berekeningen op meerdere cores uitvoeren. Toch kan de gpu niet zomaar de cpu vervangen en kan bestaande software niet zomaar op de gpu uitgevoerd worden. Om niet afhankelijk te zijn van het interne geheugen van de computer heeft de grafische kaart beschikking over eigen geheugen.

Er zijn vier verschillende soorten geheugen op een GPU aanwezig

Er zijn vier verschillende soorten geheugen op de grafische kaart aanwezig. De bekendste wordt altijd gebruikt om mee te adverteren en is het grootste maar tevens traagste geheugen. Op de gpu zelf zijn de drie overige typen geheugen geplaatst. Er is lokaal en gedeeld geheugen waar de cores toegang tot hebben. Per core is er een zeer kleine hoeveelheid cache aanwezig, ongeveer 10 KB, een stuk kleiner dan de ruim 2 MB waarmee de meest recente cpu’s uitgerust worden.

Wanneer waardes uit het geheugen nodig zijn, worden deze uit het algemene geheugen gehaald en in het snel toegankelijke cachegeheugen geplaatst. De gpu is zo slim om bij elke opvraging eerst te kijken of de waarde nog in de cache aanwezig is. Doordat de cache per core klein is, zullen weinig gebruikte waardes snel uit de cache komen te vervallen. Bij een volgend gebruik zal dan eerst de waarde opnieuw uit het lokale of algemene geheugen gehaald moeten worden. Een techniek die ook in de cpu toegepast wordt, maar bij de gpu veel sneller voorkomt door de veel kleinere cache. 

Threads en cores

Om hiervoor een oplossing te kunnen bieden, is de architectuur van de grafische processor zo ingericht dat wanneer er te lang op geheugen moet worden gewacht, de thread tijdelijk uit de core gehaald kan worden. Zo kan een andere thread in de core worden gezet, waarmee het verlies van snelheid bij het wachten op geheugen verlaagd wordt. Om dit in goede banen te kunnen leiden, worden alle threads gesynchroniseerd. Ze voeren daardoor altijd exact dezelfde regel programmacode uit. Het is dus niet mogelijk dat een thread alvast de volgende som berekent en daarmee vooruit loopt op andere threads.

Voor het schrijven van GPGPU-code wordt gebruik gemaakt van CUDA of OpenCL. NVIDIA is de ontwikkelaar van CUDA en werkt alleen op NVIDIA-kaarten. Het opensource-project OpenCL is platform-onafhankelijk en werkt op zowel NVIDIA-, AMD- als Intel-processoren. Beide implementaties zijn een dialect van de programmeertaal C, maar wijken onderling sterk af als het gaat om het aansturen van de gpu. Het is dan ook niet mogelijk om zomaar een stukje bestaande C-code met GPGPU uit te voeren.

Voor het schrijven van GPGPU-code wordt gebruikgemaakt van CUDA of OpenCL

Niet alleen dient de programmeur een nieuw dialect aan te leren, het gebruik van geheugen met een gpu verschilt ook flink met die van de cpu. Op het moment dat code op een cpu uitgevoerd wordt, kan het eenvoudig nieuwe delen geheugen reserveren en deze ook direct gebruiken. Een algoritme kan daardoor actief inspelen op het soort data dat het te verwerken krijgt. 

Bij een gpu heeft de code alleen beschikking over vooraf gereserveerd geheugen. Voordat een berekening start, moet het dus al bekend zijn hoeveel geheugen er precies nodig is. Dit vergt van de programmeur wederom meer kennis over de data en het probleem wat opgelost moet worden om zo alsnog een goed werkend algoritme te bouwen.

Videokaart niet alleen voor games

Een grafische kaart wordt dus niet alleen maar gebruikt voor games. Veel programma’s voeren weinig en sterk van elkaar verschillende soorten berekeningen uit. Ze maken daarvoor gebruik van de cpu en benutten het cachegeheugen van de processor optimaal. Er zijn ook momenten waarop bekende programma’s als Excel, Spotify of Photoshop veel wiskundige berekeningen moeten uitvoeren in een zo kort mogelijke tijd. Daarvoor wordt bij deze acties gebruik gemaakt van GPGPU, zoals Photoshop doet bij het toepassen van een blur-filter. 

©PXimport

Ook wordt GPGPU steeds meer toegepast in de wetenschappelijke wereld, zoals bij het uitvoeren van analyses op grote verzamelingen data. Zo worden er met software bloedbaansimulaties berekend, zoekt men naar buitenaardse radiosignalen met het SETI-project en vindt er onderzoek plaats naar het uitvoeren van DNA-analyses voor nieuwe behandelmethodes.

Het moge inmiddels duidelijk zijn dat de grafische kaart tot véél meer in staat is dan alleen het er zo realistisch mogelijk uit te laten zien van games. Je zou daarom wel kunnen stellen dat de naam ‘grafische kaart’ hooguit nog als marketingterm correct is. Wellicht wordt het langzamerhand tijd om de benaming ‘grafisch’ laten varen en de nieuwe krachtpatser wat meer eer aan te doen?

Tekst: Maarten Pater

▼ Volgende artikel
Dit moet je doen als je je Chromebook niet meer aan krijgt
Huis

Dit moet je doen als je je Chromebook niet meer aan krijgt

Heb je een Chromebook die niet meer opstart? Geen paniek. Er zijn verschillende stappen die je kunt nemen om het apparaat weer tot leven te wekken. In veel gevallen is het probleem namelijk eenvoudiger op te lossen dan je denkt.

Als je Chromebook opeens niet meer aangaat, valt dit te proberen:

  • Verwijder eventuele accessoires en dongels
  • Maak de oplaadpoort schoon
  • Staat het scherm wel aan?
  • Probeer een andere kabel
  • Controleer de batterij
  • Maak gebruik van de Powerwash

Ook interessant: Chromebook en Chromebook Plus: dit zijn de verschillen

Chromebooks staan bekend om hun gebruiksgemak en scherpe prijs, en inmiddels kunnen ze ook prima offline functioneren. Maar daar heb je weinig aan als het apparaat niet opstart. Reageert je Chromebook nergens meer op? Met deze tips vergroot je de kans dat hij toch weer meewerkt.

Koppel accessoires en dongels los

Begin bij het begin: haal alle randapparatuur uit de poorten. Denk aan usb-sticks, externe muizen of dongels. Soms zorgt een aangesloten apparaat voor een stroomprobleem of een storing, waardoor de Chromebook niet goed opstart. Doet hij het na het loskoppelen weer? Sluit de accessoires dan stuk voor stuk opnieuw aan om te ontdekken welk onderdeel de boosdoener is.

Maak van je Chromebook een alleskunner met een handige dongel.

Breid eenvoudig je aansluitmogelijkheden uit!

Reinig de oplaadpoort

Een verstopte usb-poort kan ook roet in het eten gooien. Stof of vuil belemmert soms het contact tussen kabel en apparaat. Een spuitbus met perslucht is ideaal om de poort schoon te blazen. Heb je die niet bij de hand, dan kun je ook voorzichtig een plastic tandenstoker of een wattenstaafje met een beetje isopropylalcohol gebruiken. Vermijd houten stokjes, die kunnen splinters achterlaten.

Controleer of het scherm werkt

Lijkt het alsof de Chromebook niets doet? Check dan eerst of het scherm überhaupt aanstaat. Het kan gebeuren dat iemand voor de grap de helderheid op het minimum heeft gezet. Druk een paar keer op de helderheidstoets om te zien of het beeld terugkomt. Nog steeds niets? Sluit het apparaat dan eens aan op een extern scherm om te testen of de Chromebook wel signalen afgeeft.

©Google

Gebruik een andere kabel

Geen resultaat? Probeer dan een andere usb-c-kabel. Misschien ligt het simpelweg aan een defecte oplader. Als het ledlampje aangaat bij het aansluiten van een andere kabel, weet je dat het apparaat stroom krijgt. Voor de zekerheid kun je ook een ander stopcontact proberen, al is dat zelden de oorzaak.

Check de accu

Brandt het lampje, maar weigert de Chromebook alsnog dienst, dan zou de accu weleens defect kunnen zijn. In sommige gevallen kun je die zelf vervangen, maar let op: je garantie vervalt dan meestal. Het is verstandiger om contact op te nemen met de verkoper of fabrikant. Als dat niets oplevert, kun je overwegen om een reparatiespecialist in te schakelen.

©Tada Images - stock.adobe.com

Voer een Powerwash uit

Als je Chromebook nog wel opstart maar niet goed functioneert, kan een zogenoemde Powerwash uitkomst bieden. Dit is een fabrieksreset die alle gegevens wist en het systeem schoon herstart. Zorg dus dat je belangrijke bestanden vooraf veiligstelt, bijvoorbeeld in de cloud. Zo geef je je Chromebook mogelijk een tweede leven, zonder nieuwe aan te hoeven schaffen.

Zo werkt een Powerwash:
  • Zet de Chromebook aan
  • Druk tegelijk op Ctrl+Alt+Shift+R
  • Klik op 'Opnieuw opstarten'
  • Kies in het volgende scherm voor Powerwash en klik op Doorgaan
  • Volg de instructies en bevestig de reset
  • Na afloop start je de Chromebook opnieuw op en log je in met je Google-account

Alles geprobeerd?

Hopelijk helpt dit en kun je na het uitvoeren van één van deze stappen weer gebruikmaken van je Chromebook. Zo niet en ben je van plan een nieuwe Chromebook te kopen, dan is het handig om te weten wat bijvoorbeeld de verschillen zijn tussen een normale en Plus-variant. Daarnaast gaven we eerder al wat tips over het kopen van zo'n laptopvervanger en kun je hier lezen wat vijf goede opties voor een redelijk betaalbare prijs zijn.

▼ Volgende artikel
Slimmer wassen: deze functies maken je nieuwe wasmachine nét even handiger
© Family Veldman
Huis

Slimmer wassen: deze functies maken je nieuwe wasmachine nét even handiger

Natuurlijk kijk je naar de capaciteit en het energielabel als je een nieuwe wasmachine zoekt. Past je dekbed erin? En hoeveel verbruikt 'ie per wasbeurt? Toch zijn dat allang niet meer de enige zaken om op te letten. Moderne wasmachines zitten vol extra's die wassen makkelijker maken, en soms zelfs een beetje leuker. Wifi, stoom, automatische dosering of juist een fluisterstille motor: dit voegen die functies toe aan jouw huishouden.

Partnerbijdrage - in samenwerking met Bemmel & Kroon

Bij het kopen van een nieuwe wasmachine zijn er een paar dingen waar vrijwel iedereen als eerste naar kijkt. Bovenaan staat de trommelcapaciteit. Die bepaalt hoeveel kilo wasgoed je per beurt kunt wassen. Een klein huishouden heeft meestal genoeg aan 7 kilo, terwijl grotere gezinnen vaak kiezen voor een model met 9 kilo of meer. Het tweede punt is het energielabel. Een zuinige wasmachine met label A verbruikt minder stroom en water, wat niet alleen beter is voor het milieu, maar ook voor je energierekening op de lange termijn.

Ook het toerental speelt een belangrijke rol. Hoe hoger dit aantal omwentelingen per minuut – bijvoorbeeld 1400 of 1600 – hoe droger je was uit de machine komt. Dat is handig als je geen droger hebt, of gewoon minder tijd wilt kwijt zijn aan het drogen. Daarnaast letten veel mensen op het geluidsniveau. Zeker als de wasmachine dicht bij de woonkamer of slaapkamer staat, is een stille werking prettig.

Tot slot zijn de beschikbare programma's en extra functies vaak doorslaggevend. Denk aan programma's voor sportkleding, wol of allergieën, of slimme toevoegingen zoals automatische dosering van wasmiddel of een stoomfunctie. Hoe beter de functies aansluiten op je dagelijkse wasroutine, hoe fijner de machine in de praktijk werkt. Hieronder lees je meer over slimme functies die je kunt tegenkomen op je nieuwe wasmachine en waarom ze zo handig zijn.

Wasmachines met wifi: altijd verbonden, altijd controle

Een wasmachine met wifi biedt vooral gemak. Je hoeft niet meer op te staan om te checken of de was al klaar is, want dat zie je gewoon op je smartphone of tablet. Programma's starten, pauzeren of aanpassen doe je waar je ook bent: vanaf de bank, op je werk of onderweg naar huis. Dat scheelt tijd en zorgt ervoor dat je de was kunt plannen rond jouw dag, niet andersom. Bijvoorbeeld door 's ochtends vroeg het programma alvast klaar te zetten en het pas te starten wanneer je op kantoor bent.

Slimme modellen met wifi laten je ook kiezen voor het voordeligste moment om te wassen, bijvoorbeeld tijdens daluren als stroom goedkoper is. Zo bespaar je ongemerkt energie. Daarnaast houdt de app vaak bij hoeveel stroom en water je verbruikt, en krijg je suggesties om zuiniger te wassen. Sommige modellen gaan nog verder en kiezen automatisch het programma dat het beste past bij je kleding. Zo wordt alles fris en schoon zonder dat tere stoffen beschadigen. Extra functies zoals stoom of vlekkenbehandeling zijn eenvoudig aan of uit te zetten via de app. Dat maakt wassen nauwkeuriger en persoonlijker dan ooit.

©ryanking999

Stoomfunctie: minder strijkwerk, meer hygiëne

Wie het strijkijzer liever in de kast laat liggen, heeft baat bij een wasmachine met stoomfunctie. Dankzij stoomtechnologie komt kleding minder gekreukt uit de trommel. Overhemden, blouses of katoenen jurken kun je vaak meteen ophangen, zonder dat je met een strijkplank aan de slag hoeft. Maar de voordelen gaan verder dan alleen gemak.

Stoom maakt wassen namelijk ook hygiënischer. Het dringt diep door in de vezels en doodt bacteriën, pollen en huisstofmijt – handig als je een gevoelige huid hebt of last van allergieën. Ook muffe kleding die niet echt vies is, krijgt een opfrisbeurt. Denk aan een jasje dat je aan hebt gehad in de kroeg, of een trui die lang in de kast heeft gehangen en die wat muf ruikt. Door kort te stomen is je kleding snel weer draagbaar.

Automatische wasmiddeldosering: nooit meer gokken

Hoeveel wasmiddel is genoeg? Veel mensen schenken op de gok een flinke scheut in het bakje, met als resultaat overdosering, zeepresten op kleding of juist te weinig schoonmaakkracht. Wasmachines met automatische wasmiddeldosering lossen dat probleem op. Je vult een reservoir met vloeibaar wasmiddel en eventueel wasverzachter, en de machine meet zelf wat er nodig is voor elke lading was.

Dit is niet alleen beter voor je kleding – die slijt minder snel en blijft langer mooi – maar ook voor je portemonnee. Je verbruikt namelijk nooit meer dan nodig. Ook fijn: je hoeft niet bij elke wasbeurt iets toe te voegen. Vaak gaat een volle tank twintig tot veertig wasbeurten mee. Dat scheelt gedoe, voorkomt verspilling en zorgt voor een constante waskwaliteit zonder dat je ergens over hoeft na te denken.

©AEG

Superstille wasmachines: wassen zonder lawaai

Wasmachines met een laag geluidsniveau zijn ideaal voor wie zijn wasmachine in de buurt van de woon- of slaapkamer heeft staan. Een model dat tijdens het centrifugeren 73 decibel of minder produceert, valt in de categorie 'stil'. Maar wie écht stil wil wassen, kiest voor een model dat maximaal 70 decibel haalt. Dat verschil lijkt klein, maar is duidelijk hoorbaar. Elke 3 decibel extra verdubbelt namelijk de geluidsintensiteit.

Deze extra stille wasmachines zijn meestal uitgerust met een koolborstelloze motor, die nauwelijks geluid maakt. In plaats van borstels gebruikt de motor een magneetsysteem om de trommel te laten draaien. Dat scheelt wrijving én lawaai. Je kunt dus gerust een was draaien terwijl je slaapt of in een videocall zit. Ook als je gebruik wilt maken van het nachttarief, zonder dat je wakker ligt van het centrifugeren, is zo'n stille wasmachine een slimme keuze.

Tot slot

Wassen is allang niet meer gewoon een kwestie van aanzetten en wachten. De functies die je tegenwoordig kunt kiezen, maken het verschil tussen 'was erin en maar zien' en gericht, zuinig en stil wassen op jouw voorwaarden. Of je nu op zoek bent naar minder strijkwerk, een stiller huishouden, energiebesparing of vooral gemak via je smartphone: deze functies maken je leven echt makkelijker.