GPU-programmeren

Wat is de meest passende reden waarom bij veel GPU's voor consumentengames de rekenprestatie in dubbele precisie (FP64) veel lager is dan in enkele precisie (FP32) (bijvoorbeeld tientallen keren)?

  1. AOmdat enkele precisie of lager volstaat voor graphics en AI, en er dus niet veel chipoppervlak aan rekeneenheden voor dubbele precisie wordt besteed
  2. BOmdat berekening in dubbele precisie fysiek onmogelijk is
  3. COmdat berekening in dubbele precisie alleen aan CPU's is toegestaan
Antwoord en toelichting tonen

Antwoord: A. Omdat enkele precisie of lager volstaat voor graphics en AI, en er dus niet veel chipoppervlak aan rekeneenheden voor dubbele precisie wordt besteed

Een rekeneenheid voor dubbele precisie gebruikt enkele malen meer oppervlak en vermogen dan een voor enkele precisie. Voor beelden in games en AI-inferentie volstaan enkele of halve precisie, dus GPU's voor consumenten hebben weinig eenheden voor dubbele precisie en gebruiken die ruimte voor onder meer enkele precisie. Voor wetenschappelijke en technische berekeningen waarvoor dubbele precisie nodig is, zoals weer- en stromingssimulaties, worden GPU's voor datacenters met hogere prestaties in dubbele precisie gebruikt.

Dit onderwerp oefenen Naar de onderwerppagina

Meer vragen over GPU-programmeren

  1. Welke uitspraak over de kenmerken van de tensor cores (matrixrekeneenheden) van recente GPU's is juist?
  2. Waarom wordt bij gemengde precisie op een GPU vaak de vermenigvuldiging in lage precisie zoals FP16 uitgevoerd en de sommatie (accumulatie) in FP32?
  3. Bij het berekenen van de som van drijvende-kommagetallen van dezelfde data op een GPU week het laatste cijfer van het resultaat bij elke uitvoering lichtjes af. Wat is de meest waarschijnlijke oorzaak?
  4. Welke algemene richtlijn voor het bepalen van het aantal threads per block in CUDA is juist?
  5. Welk voordeel van het schrijven van een kernel met een lus zoals hierboven (grid-stride loop) is juist?

Vergelijkingen bij dit onderwerp