Die meisten neueren Grafikkarten verfügen über Stream-Prozessoren, die in ihre Grafikverarbeitungseinheit integriert sind. Die GPU kann auch in das Motherboard oder in die Zentraleinheit selbst eingebaut werden. Die Stream-Verarbeitung ist eine Programmiertechnik, die die parallele Verarbeitung von Hardware und Software vereinfacht. Die Stream-Prozessoren in der GPU erledigen die meisten herkömmlichen Grafik-Rendering-Aufgaben oder können alternativ für eine allgemeinere Zahlenverarbeitung programmiert werden.
Anwendungen
Stream-Prozessoren eignen sich gut für herkömmliche GPU-bezogene Aufgaben wie Bild-, Video- und Signalverarbeitung. Es wird jedoch immer häufiger, die Stream-Prozessoren auf der GPU sowohl für allgemeine als auch für wissenschaftliche Zahlenkalkulationen zu verwenden. Stream-Verarbeitungstechniken eignen sich gut für Raytracing, rechnergestützte Fluiddynamik, Wettermodellierung und Proteinfaltungsberechnungen. Anwendungen, die massive Vektoroperationen und Berechnungen mit hohem Durchsatz erfordern, erzielen große Vorteile gegenüber der herkömmlichen CPU-Zahlenkalkulation. Allzweckanwendungen sehen möglicherweise keine Geschwindigkeitsverbesserungen.
Geschichte
Herkömmliche CPUs arbeiteten als ein einzelner Prozessor, der einen einzelnen Befehlsstrom ausführte, der mit Daten arbeitete, die an einem einzelnen Speicherort gespeichert waren. Diese Architektur wird als „Einzelanweisung, Einzeldaten“ bezeichnet. Parallele Techniken wurden entwickelt, um mit der zunehmenden Datenmenge fertig zu werden, die verarbeitet werden musste, und um Operationen an mehreren Datenstandorten gleichzeitig zu ermöglichen. Die Stream-Verarbeitung ist ein Zweig dieser Entwicklungen, der einige der realen Implementierungen der früheren Technologien vereinfacht.
Überlegungen
Anwendungen, die Stream-Verarbeitung verwenden möchten, müssen von Anfang an so konzipiert sein, dass sie die Technologie effektiv nutzen können. Nicht alle Programme werden davon profitieren, und die meisten Geschäftsanwendungen für allgemeine Zwecke werden sich auf keine Beschleunigung beschränken, verglichen mit den enormen Gewinnen, die durch sehr spezielle Programme oder Entwicklungstechniken erzielt werden. Die Stream-Verarbeitung eignet sich für Programme, die eine hohe Rechenintensität erfordern und zu einem parallelen Ausführungsmodell passen.
Andere Leistungsmessungen
Die Anzahl der Stream-Prozessoren (und ihre Geschwindigkeit) sind nicht die einzige signifikante Messung für die GPU-Leistung. Verschiedene GPUs haben unterschiedliche Taktraten zwischen der GPU selbst, dem Speicher und den Prozessoren. Sie haben auch unterschiedliche Architektur- und Bandbreitenbeschränkungen zwischen diesen separaten Komponenten. All dies zusammen bestimmt die effektive Leistung der GPU als Ganzes. Bewertungen und Benchmarks sind der beste Weg, um die Gesamtleistung einer GPU im Vergleich zu anderen vergleichbaren Einheiten zu beurteilen.