GPU-Programmierung

Welche Aussage zur Auslastung (Occupancy) der GPU ist richtig?

  1. ADer Anteil der Chipfläche der GPU, den Recheneinheiten belegen
  2. BDas Verhältnis der tatsächlich auf einem SM befindlichen Warps zur maximalen Zahl gleichzeitig platzierbarer Warps
  3. CDer Anteil des GPU-Speichers, der mit Daten belegt ist
Antwort und Erläuterung anzeigen

Antwort: B. Das Verhältnis der tatsächlich auf einem SM befindlichen Warps zur maximalen Zahl gleichzeitig platzierbarer Warps

Die Zahl der Warps, die jeder SM gleichzeitig aufnehmen kann, hat eine Obergrenze, und die tatsächliche Zahl wird durch Register pro Thread, Shared Memory pro Block, Blockgröße usw. bestimmt. Dieses Verhältnis ist die Occupancy. Bei niedriger Occupancy stehen anstelle von Warps, die auf Speicher warten, nur wenige ausführbare Warps bereit, und die Recheneinheiten liegen leicht brach. Für CUDA gibt es auch Werkzeuge zur Berechnung der Occupancy.

Dieses Thema üben Zur Themenseite

Weitere Fragen zu GPU-Programmierung

  1. Wie verbirgt die GPU hauptsächlich lange Speicherlatenzen (einige hundert Takte)?
  2. Welche Aussage zur Occupancy der GPU ist richtig?
  3. Welche Aussage zum Verhältnis von Block und SM (Streaming Multiprocessor) in CUDA ist richtig?
  4. In CUDA soll mitten im Kernel gewartet werden, bis die Berechnung aller anderen Blöcke abgeschlossen ist, bevor die nächste Phase beginnt. Welche Methode ist üblich?
  5. Beim Erstellen eines Histogramms von Pixelwerten auf der GPU kann es langsam sein, wenn alle Threads direkt mit atomicAdd auf die 256 Bins im Global Memory addieren. Welche Verbesserung ist richtig?

Vergleiche zu diesem Thema