GPU-Programmierung

Was ist der Hauptzweck der Verwendung mehrerer CUDA-Streams?

  1. ADen Kühlluftstrom der GPU zu erhöhen
  2. BDatenübertragung und Kernel-Ausführung überlappend gleichzeitig ablaufen zu lassen und so die Gesamtzeit zu verkürzen
  3. CDie Bildqualität bei der Videoübertragung zu erhöhen
Antwort und Erläuterung anzeigen

Antwort: B. Datenübertragung und Kernel-Ausführung überlappend gleichzeitig ablaufen zu lassen und so die Gesamtzeit zu verkürzen

Ein Stream ist eine Reihenfolge von Operationen, die an die GPU ausgegeben werden (Übertragungen und Kernel-Starts). Innerhalb eines Streams werden sie der Reihe nach ausgeführt, Operationen verschiedener Streams können aber gleichzeitig ablaufen. Werden die Daten aufgeteilt und der zweite Teil übertragen, während der erste berechnet wird, überlappen sich Übertragungs- und Rechenzeit größtenteils, und die Gesamtzeit verkürzt sich.

Dieses Thema üben Zur Themenseite

Weitere Fragen zu GPU-Programmierung

  1. Ein Programm, das tausende Male hintereinander sehr kleine Kernel startet, ist langsam. Welche Verbesserung ist am besten geeignet?
  2. Welche Aussage zu Unified Memory von CUDA ist richtig?
  3. Was bestimmt hauptsächlich die Leistung bei der elementweisen Addition zweier großer Arrays auf der GPU (c[i] = a[i] + b[i])?
  4. Was ist der wahrscheinlichste Grund, weshalb bei vielen GPUs für Heimspiele die Rechenleistung in doppelter Genauigkeit (FP64) viel niedriger ist als in einfacher Genauigkeit (FP32), z. B. um ein Vielfaches von zehn?
  5. Welche Aussage zu Tensor Cores (Matrixrecheneinheiten) in neueren GPUs ist richtig?

Vergleiche zu diesem Thema