GPU-programmeren
Bij lichte bewerkingen zoals het één keer optellen van array-elementen kan het sturen van data naar de GPU trager zijn dan rekenen op de CPU. Wat is de belangrijkste reden?
- AOmdat een GPU niet kan optellen
- BOmdat de tijd voor het kopiëren van data via PCI Express langer is dan de tijd die de berekening op de GPU wint
- COmdat waarden veranderen als data naar de GPU wordt gestuurd
Antwoord en toelichting tonen
Antwoord: B. Omdat de tijd voor het kopiëren van data via PCI Express langer is dan de tijd die de berekening op de GPU wint
De bandbreedte van PCI Express is ruim een orde van grootte kleiner dan die van het GPU-geheugen, dus alleen het sturen van data kost al tijd. Als per element slechts één optelling wordt gedaan, is de rekentijd verwaarloosbaar ten opzichte van de verzendtijd en wordt de snelheid van de GPU niet benut. Een GPU loont wanneer veel berekeningen op de verzonden data worden gedaan of wanneer data in het GPU-geheugen blijft staan en herhaaldelijk wordt verwerkt.