GPU-Programmierung

Welche Aussage zu Unified Memory von CUDA ist richtig?

  1. AEin Speicher, der von CPU und GPU über denselben Zeiger genutzt werden kann und dessen Daten bei Bedarf automatisch verschoben werden
  2. BCPU- und GPU-Chip physisch zu einem vereint
  3. CDer gesamte GPU-Speicher ist schreibgeschützt
Antwort und Erläuterung anzeigen

Antwort: A. Ein Speicher, der von CPU und GPU über denselben Zeiger genutzt werden kann und dessen Daten bei Bedarf automatisch verschoben werden

Bei Unified Memory kann auf den reservierten Bereich sowohl von der CPU als auch von der GPU über denselben Zeiger zugegriffen werden, und bei einem Zugriff werden die Daten seitenweise zu der Seite verschoben, die sie braucht. Das Programm wird einfacher, und auch Daten, die größer sind als der GPU-Speicher, lassen sich leichter handhaben. Bei jeder Verschiebung treten jedoch Page Faults und Übertragungen auf; ist Leistung gefragt, wird z. B. durch Anweisungen zum vorherigen Verschieben nachgeholfen.

Dieses Thema üben Zur Themenseite

Weitere Fragen zu GPU-Programmierung

  1. Was bestimmt hauptsächlich die Leistung bei der elementweisen Addition zweier großer Arrays auf der GPU (c[i] = a[i] + b[i])?
  2. 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?
  3. Welche Aussage zu Tensor Cores (Matrixrecheneinheiten) in neueren GPUs ist richtig?
  4. Warum wird bei gemischter Genauigkeit auf der GPU häufig die Multiplikation in niedriger Genauigkeit wie FP16 und die Aufsummierung (Akkumulation) in FP32 ausgeführt?
  5. Bei der Summierung derselben Gleitkommadaten auf der GPU unterschied sich die letzte Stelle des Ergebnisses bei jeder Ausführung geringfügig. Was ist die wahrscheinlichste Ursache?

Vergleiche zu diesem Thema