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
Slimme warmwaterkraan: waarom een Quooker de onmisbare hulp in de keuken is
© INGA POWILLEIT | QUOOKER
Huis

Slimme warmwaterkraan: waarom een Quooker de onmisbare hulp in de keuken is

Een waterkoker of fluitketel lijkt misschien onmisbaar in de keuken, maar steeds meer mensen stappen over op een slimme warmwaterkraan. Hiermee tap je in een handomdraai kokend, gekoeld of zelfs bruisend water, rechtstreeks uit de kraan. Handig, snel en vaak ook zuiniger dan je denkt.

Partnerbijdrage - in samenwerking met Bemmel & Kroon

De Quooker-warmwaterkraan is een Nederlandse uitvinding die teruggaat tot de jaren 70. Het eerste productiemodel werd al in 1992 geïntroduceerd en enkele jaren later volgden verschillende varianten van de kraan tot de modellen die we nu kennen.

Werking van het systeem

Het Quooker-systeem is gebaseerd op een eenvoudig maar ingenieus principe: een kraan op het aanrecht is verbonden met een compact reservoir dat in het keukenkastje wordt geplaatst. Dit reservoir fungeert als een soort extreem goed geïsoleerde thermosfles, waarin water continu op 108° C wordt gehouden. Dankzij deze hoogvacuümisolatie is het energieverbruik om het water op temperatuur te houden enorm laag, met een stand-byverbruik van slechts 10 watt per dag, wat neerkomt op circa 0,06 euro per dag, afhankelijk van je energiecontract.

Je kunt momenteel kiezen uit drie varianten van de Quooker: de Pro3-VAQ, de COMBI en de COMBI+. In de tabel hieronder zie je de verschillen:

ReservoirCapaciteit kokendCapaciteit warmGeschikt voor
Pro3-VAQ3 liter, directn.v.t.Huishoudens die alleen kokend water wensen
COMBI7 liter, direct15 literKeukens zonder warmwaterleiding of met lange wachttijden
COMBI+7 liter, directVia cv-ketelHuishoudens met cv-ketel die snel kokend water wensen

De grootste besparing op energie en water behaal je met de COMBI- en COMBI+-systemen. Staat de cv-ketel ver van de keuken, dan gaat er vaak een hoop water verloren. Dat komt doordat je eerst een tijdje koud water moet laten weglopen voordat er warm water uit de kraan komt. Met een Quooker heb je dat probleem niet: het waterreservoir zit direct onder de kraan. Zo bespaar je tot wel 10 liter water per dag. Het systeem is daardoor niet alleen een handige kokendwaterkraan, maar ook een slimme manier om warm water te regelen. Dat maakt het een duurzame investering die verder gaat dan alleen gemak.

©Quooker / Bemmel & Kroon

Verschillende kranen

De reservoirs van de Quooker kun je combineren met elke gewenste kraan van het systeem. Er zijn vier types Quooker-kranen:

De Flex: Dit is een Quooker-kraan met een flexibele uittrekslang voor warm en koud water. De slang is handig voor het spoelen van de spoelbak of het vullen van pannen buiten de wasbak. Een ingebouwd veiligheidsmechanisme, de kokendwaterstop, zorgt ervoor dat er geen kokend water kan worden getapt als de slang is uitgetrokken.

De Fusion: De alles-in-één kraan die kokend, warm en koud water levert. Dit strakke, minimalistische design past in vrijwel elke moderne keuken en is verkrijgbaar in diverse afwerkingen, zoals chroom, rvs, zwart, goud en messing-platina.

De Front: Een kraan met een uitgesproken uiterlijk en een vernieuwde bediening aan de voorkant van de uitloop voor warm en koud water. Dit model is verkrijgbaar in rvs en zwart.

De Nordic-modellen: Deze serie omvat de Nordic Twintaps, een set van een kokendwaterkraan en een mengkraan in hetzelfde ontwerp, en de Nordic Single Tap, een losse kokendwaterkraan die kan worden gecombineerd met een bestaande mengkraan. Deze opties zijn ideaal voor consumenten die de functionaliteiten van warm/koud water en kokend water gescheiden willen houden.  

De CUBE: Bruisend en gekoeld water

De Quooker CUBE is een extra reservoir naast de boiler waarmee je kraan ook gekoeld, bruisend en gefilterd water geeft. De bediening is zo ontworpen dat je niet per ongeluk de verkeerde stand kiest: bruisend water tap je door de ring tweemaal in te drukken en te draaien (blauw knipperend licht), gefilterd koel water door één keer indrukken en draaien (continu blauw licht).

De CUBE werkt met CO₂-cilinders, goed voor zo’n 60 liter bruisend water per cilinder. Een set van vier kost zo'n 70 euro, lege cilinders stuur je gratis terug voor hergebruik. Het filter dat het water zuivert moet jaarlijks worden vervangen. Zo helpt de CUBE plastic flessen overbodig te maken.

©Quooker / Bemmel & Kroon

Oude kraan vervangen

Vaak wordt gedacht dat je een Quooker-kraan alleen in een nieuwe keuken kunt installeren. Dat is niet zo: een Quooker past in principe in elke keuken en het is zelfs mogelijk om deze náást je oude vertrouwde kraan te installeren. Dat zou je (als je een beetje handig bent) in principe helemaal zelf kunnen doen, maar je kunt de Quooker uiteraard ook door een expert laten installeren. Maar waar moet je rekening mee houden als je een Quooker wil installeren?

Stroomvoorziening: Er is een geaard stopcontact en bij voorkeur een aparte elektriciteitsgroep nodig, vooral wanneer de CUBE wordt toegevoegd. Als er geen aparte groep beschikbaar is, kan een energieverdeler worden gebruikt om de stroom te verdelen tussen de Quooker en andere apparaten, zodat de zekeringen niet springen.

Wateraansluiting: Je hebt een minimale waterdruk van 2 bar nodig om de Quooker-systemen goed te laten werken. Voor de Quooker COMBI+ geldt dat ook voor de warmwaterkraan: die moet ook op 2 bar staan. De maximale waterdruk is 6 bar.

Ruimte in het keukenkastje:
De reservoirs zijn compact, maar vereisen wel voldoende ruimte. Het PRO3-reservoir is 40 cm hoog en heeft een diameter van 15 cm, terwijl de COMBI-reservoirs 47 cm hoog zijn en een diameter van 20 cm hebben. De CUBE meet 43 cm hoog, 30 cm breed en 44 cm diep, inclusief de CO₂-cilinder. Daarnaast heb je voor de Flex een minimale diepte van 500 mm en een breedte van 200 mm onder het aanrechtblad nodig voor het contragewicht van de uittrekslang.

Bij het zelf installeren van een Quooker is het overigens erg fijn dat de fabrikant allerlei handige instructievideo's en -documenten heeft voor de zelfklusser, waardoor je altijd stap-voor-stap weet wat je moet doen.

Voordelen

Waarom zou je voor een Quooker kiezen als je al een waterkoker hebt of een fluitketel gebruikt? Het grootste voordeel is dat je altijd en direct kokend water tot je beschikking hebt. Nooit meer wachten op je waterkoker of ketel totdat deze het kookpunt hebben bereikt. De Quooker verbruikt weliswaar continu stroom voor het op temperatuur houden van het hete water, maar een waterkoker verbruikt veel energie in korte tijd. En dat voor elke keer dat je warm water nodig hebt. Een fluitketel op het vuur is ook niet erg duurzaam als je kookt op gas. Voor het koken van uitgebreide maaltijden met pasta is het extra fijn als je snel over kokend water kunt beschikken.

©Dmitry Vereshchagin - stock.adobe.com

Prijzen en verbruik

Misschien is het goed om even stil te staan bij het energieverbruik en de kosten. Want wat verbruikt een Quooker nu eigenlijk op jaarbasis, en wat kost je dat gemiddeld? Voor dit voorbeeld nemen we een huishouden van drie personen, die gezamenlijk per dag 10 liter kokend water verbruiken. In dat geval verbruikt dat gezin volgens Quooker 511 kWh op jaarbasis.

Stel dat je bij je huidige energieleverancier 0,40 eurocent per kWh gemiddeld betaalt. De Quooker kost je dan op basis van de bovenstaande gegevens 204,40 euro per jaar.

Dat is natuurlijk lastig één-op-één te vergelijken met het verbruik van gas of elektriciteit om water te koken. Het voordeel van een Quooker is bijvoorbeeld dat je veel makkelijker de exact benodigde hoeveelheid water pakt. Als je water kookt met een fluitketel of elektrische waterkoker, dan ben je algauw geneigd om meer water in de ketel te doen dan noodzakelijk is. En meer water kost meer energie om op te warmen.

Overwegingen

Ben je van plan om een warmwaterkraan zoals een Quooker aan te schaffen? Houd dan wel rekening met een aantal zaken. Om te beginnen de aanschafprijs, maar ook de manier waarop een Quooker in je keuken wordt geïnstalleerd. Er moet immers extra ruimte onder de gootsteen worden vrijgemaakt, en dat is nu eenmaal niet zomaar in elke keuken mogelijk.

Welk systeem het best past, hangt af van je wensen en je keuken. Wil je alleen kokend water? Dan is de compacte PRO3 op zich afdoende. Heb je een lange wachttijd op warm water, dan zijn de COMBI of COMBI+ de slimste keuzes. Met de CUBE heb je meteen ook gekoeld en bruisend water tot je beschikking; ideaal als je minder plastic flessen wilt gebruiken. De Quooker biedt dus veel gemak, veiligheid en duurzaamheid. Een goede investering voor je keuken!

▼ Volgende artikel
Huis winterklaar? Maak kans op een WOLF-Garten multi-star schoonmaakset
© AK | ID.nl
Huis

Huis winterklaar? Maak kans op een WOLF-Garten multi-star schoonmaakset

Nu de herfst inzet is dit hét moment om je huis winterklaar te maken. Ramen nog even goed lappen vóór de natte kou, de dakgoot ontdoen van bladeren zodat het water vrij wegloopt… Met het WOLF-Garten multi-star systeem heb je daar geen ladder voor nodig: je klikt gewoon het opzetstuk dat je nodig hebt op de uitschuifbare Variosteel en je kunt overal bij. Wij mogen twee sets weggeven.

Wat zit er in de set

De Variosteel ZM-V4 (220–400 cm) klikt stevig vast op verschillende opzetkoppen. In totaal zijn er ruim 70 opzetstukken; daarvan zitten er vier in de set die je kunt winnen. Voor glaswerk is er de raamwasser (EW-M), een brede mop met verstelbare kop die ook handig is bij schuine ruiten of zonnepanelen. Voor een streeploos resultaat gebruik je de raamreiniger (KW-M/ZM015), waarbij mop en wisser in één zijn gecombineerd. Stofnesten en spinnenwebben verwijder je met de flexibele ragebol (BM 25 M); de kop buigt mee zodat je boven kozijnen en in hoeken komt zonder dat je op een ladder hoeft te staan. Voor het schoonmaken van de dakgoot gebruik je de twee-in-een dakgootreiniger (GC-M): eerst bladeren en vuil losvegen, daarna eenvoudig uitscheppen. Alle opzetstukken klik je op dezelfde steel, waarmee je zowel hoog als laag werkt.

➡️ Zo haal je het meest uit de opzetstukken

Begin bij ramen altijd met twee emmers: één met schoon sop en één met helder water. Maak het raam nat met de mop en spoel die tussendoor uit in schoon water. Werk daarna in rustige horizontale banen met de wisser en droog de onderste kozijnrand direct af met een doek. Zo voorkom je druipers en blijft het glas streeploos schoon. Doe dit liever niet in volle zon, want dan droogt het water te snel op en krijg je sneller waas.

Voor de dakgoot kies je een droge dag. Zet de steel zo lang dat je recht kunt blijven staan en niet hoeft te reiken. Veeg eerst bladeren en takjes los met de borstelzijde van de GC-M en schep het vuil daarna uit de goot. Controleer meteen de afvoerpijp door er wat water in te gieten, zodat je zeker weet dat alles goed doorloopt. Draag handschoenen; niet alleen om te voorkomen dat je vieze handen krijgt, maar ook omdat er scherpe takjes of steentjes in de modder kunnen zitten. Kijk tot slot of er nergens nog vuil of takjes zijn achtergebleven, zodat de goot ook bij de eerste najaarsstorm goed blijft doorstromen.

©AK | ID.nl

Met de ragebol werk je van boven naar beneden. Klap de kop iets schuin en laat de borstel het werk doen; hard duwen vervormt de vezels en haalt minder weg. Ga een dag later nog een keer langs de buitenlampen en camera's: spinnen komen snel terug, een tweede ronde houdt het langer netjes.

➡️ Onderhoud en veiligheid

Spoel moppen en borstels na gebruik met lauwwarm water uit en laat ze volledig drogen. Bewaar de steel en koppelingen vorstvrij en zandvrij, dan klikken ze soepel en gaan ze lang mee. Kies altijd de kortst mogelijke steellengte die de klus toelaat; hoe korter, hoe lichter en stabieler het werkt.

➡️ Maak kans op een WOLF-Garten multi-star systeem schoonmaakset

Wil jij zo'n mooie set ter waarde van 216 euro winnen? We geven er twee weg. Wat moet je doen?

Beantwoord de volgende vraag: Wat is jouw grootste hilarische schoonmaakdrama ooit (trapje instabiel, emmer omgevallen, enzovoort)?

Stuur je antwoord naar wolf@id.nl. Meedoen kan tot en met zondag 21 september. De twee origineelste inzendingen winnen. Prijswinnaars krijgen automatisch bericht.