GPU-Programmierung
Was gilt im Allgemeinen für CPU-seitigen und GPU-seitigen Speicher bei einem Programm, das eine einzelne diskrete GPU nutzt?
- AEs sind getrennte Speicher; vor der Berechnung werden die Daten auf die GPU kopiert, und nach der Berechnung wird das Ergebnis zurück auf die CPU kopiert
- BEs ist derselbe Speicher, Kopieren ist überhaupt nicht nötig
- CDie GPU kann Rechenergebnisse nicht speichern
Antwort und Erläuterung anzeigen
Antwort: A. Es sind getrennte Speicher; vor der Berechnung werden die Daten auf die GPU kopiert, und nach der Berechnung wird das Ergebnis zurück auf die CPU kopiert
Eine diskrete GPU besitzt auf der Karte einen eigenen Speicher wie GDDR oder HBM, der über PCI Express o. Ä. mit dem Speicher der CPU verbunden ist. Der grundlegende Ablauf ist daher, Daten aus dem CPU-Speicher in den GPU-Speicher zu kopieren, den Kernel zu starten und nach Abschluss das Ergebnis in den CPU-Speicher zurückzukopieren. Die Zeit für dieses Kopieren bestimmt oft die Gesamtleistung.