AMD FireStream - AMD FireStream

AMD FireStream war AMDs Markenname für seine Radeon- basierte Produktlinie, die auf Stream-Processing und/oder GPGPU in Supercomputern abzielt . Ursprünglich von ATI Technologies rund um die Radeon X1900 XTX im Jahr 2006 entwickelt, wurde die Produktlinie zuvor sowohl als ATI FireSTREAM als auch als AMD Stream Processor gebrandmarkt . Die AMD Fire kann auch als verwendet werden Gleitkommazahlen Koprozessor zum Abladen CPU Berechnungen, die Teil der ist Torrenza Initiative. Die FireStream-Linie wurde seit 2012 eingestellt, als GPGPU-Workloads vollständig in die AMD FirePro- Linie integriert wurden.

Überblick

Die FireStream-Reihe ist eine Reihe von Add-On- Erweiterungskarten, die von 2006 bis 2010 veröffentlicht wurden und auf Standard-Radeon-GPUs basieren, aber als Allzweck -Coprozessor entwickelt wurden , anstatt 3D-Grafiken zu rendern und auszugeben. Wie die FireGL/FirePro- Reihe erhielten sie mehr Speicher und Speicherbandbreite, aber die FireStream-Karten haben nicht unbedingt Video-Ausgangsports. Alle unterstützen 32-Bit - Gleitkommazahlen mit einfacher Genauigkeit , und alle außer der ersten Version unterstützen 64-Bit - Gleitkommazahlen mit doppelter Genauigkeit . Die Linie wurde mit neuen APIs zusammengetan, um eine höhere Leistung zu bieten, als bestehende OpenGL- und Direct3D- Shader-APIs bieten konnten, beginnend mit Close to Metal , gefolgt von OpenCL und dem Stream Computing SDK, und schließlich in das APP SDK integriert .

Für hochgradig parallele mathematische Fließkomma-Workloads können die Karten große Berechnungen um mehr als das Zehnfache beschleunigen; Folding@Home, der früheste und einer der sichtbarsten Benutzer der GPGPU, erreichte die 20- bis 40-fache CPU-Leistung. Jeder Pixel- und Vertex-Shader oder in späteren Modellen Unified-Shader kann beliebige Gleitkommaberechnungen durchführen.

Geschichte

Nach der Veröffentlichung der Radeon R520- und GeForce G70- GPU-Kerne mit programmierbaren Shadern zog der große Fließkomma-Durchsatz die Aufmerksamkeit von akademischen und kommerziellen Gruppen auf sich, die damit experimentierten, sie für nicht-grafische Arbeiten zu verwenden. Das Interesse führte ATI (und Nvidia ) GPGPU Produkte zu schaffen - in der Lage für allgemeine Zwecke mathematische Formeln in einer massiv parallelen Art und Weise zu berechnen - zu verarbeiten schwere Berechnungen traditionell auf getan CPUs und spezialisiert Gleitpunktarithmetik Coprozessoren . Es wurde prognostiziert, dass GPGPUs sofortige Leistungssteigerungen von einem Faktor von 10 oder mehr im Vergleich zu modernen Multi-Socket-Nur-CPU-Berechnungen aufweisen.

Als die Entwicklung des leistungsstarken X1900 XFX fast abgeschlossen war, basierte ATI darauf sein erstes Stream-Prozessor-Design und kündigte es als den kommenden ATI FireSTREAM zusammen mit der neuen Close to Metal API auf der SIGGRAPH 2006 an. Der Kern selbst blieb größtenteils unverändert, außer zur Verdoppelung des Onboard-Speichers und der Bandbreite, ähnlich wie beim FireGL V7350 ; neue Treiber- und Softwareunterstützung machten den größten Unterschied aus. Folding@home begann mit der Verwendung des X1900 für allgemeine Berechnungen mit einer Vorabversion der Version 6.5 des ATI Catalyst-Treibers und berichtete von einer 20-40-fachen Verbesserung der GPU gegenüber der CPU. Das erste Produkt wurde Ende 2006 veröffentlicht und nach der Fusion mit AMD in AMD Stream Processor umbenannt .

Die Marke wurde 2007 mit der zweiten Generation von Stream-Prozessoren zu AMD FireStream , basierend auf dem RV650-Chip mit neuen Unified Shadern und Double Precision Support. Asynchrones DMA verbesserte auch die Leistung, indem es einen größeren Speicherpool ohne die Hilfe der CPU ermöglichte. Ein Modell wurde veröffentlicht, der 9170, für den Anfangspreis von 1999 US-Dollar. Geplant war bis 2008 die Entwicklung eines Stream-Prozessors auf einem MXM-Modul für Laptop-Computing, der jedoch nie veröffentlicht wurde.

Die dritte Generation folgte 2008 schnell mit dramatischen Leistungsverbesserungen durch den RV770-Kern; Der 9250 hatte fast die doppelte Leistung des 9170 und wurde der erste Single-Chip- Teraflop- Prozessor, obwohl der Preis auf unter 1000 US-Dollar gefallen war. Ein schnellerer Bruder, der 9270, wurde kurz darauf für 1999 US-Dollar veröffentlicht.

Im Jahr 2010 kam die letzte Generation von FireStreams heraus, die 9350 und 9370 Karten, basierend auf dem Cypress Chip der HD 5800. Diese Generation verdoppelte die Leistung im Vergleich zur vorherigen erneut auf 2 Teraflops beim 9350 und 2,6 Teraflops beim 9370 , und war das erste von Grund auf für OpenCL erstellte . Diese Generation war auch die einzige, die über eine vollständig passive Kühlung verfügte, und eine aktive Kühlung war nicht verfügbar.

Die Generationen der Northern und Southern Islands wurden übersprungen, und 2012 kündigte AMD an, dass die neuen FirePro W (Workstation) und S (Server) Serien basierend auf der neuen Graphics Core Next Architektur die FireStream-Karten ersetzen würden.

Modelle

Modell
( Codename )
Starten Architektur
( Fab )
Bus - Schnittstelle Stream-Prozessoren Taktfrequenz Erinnerung Rechenleistung
( GFLOPS )
TDP ( Watt )
Kern (MHz) Speicher (MHz) Größe ( MB ) Art Busbreite ( Bit ) Bandbreite ( GB /s) Single Doppelt
Stream-Prozessor
(R580)
2006 R500
80 nm
240 600 1024 DDR3 256 83,2 375 N / A 165
FireStream 9170
(RV670)
8. November 2007 TeraScale 1
55 nm
PCIe 2.0 x16 320 800 800 2048 DDR3 256 51,2 512 102,4 105
FireStream 9250
(RV770)
16. Juni 2008 TeraScale 1
55 nm
PCIe 2.0 x16 800 625 993 1024 DDR3 256 63,6 1000 200 150
FireStream 9270
(RV770)
13. November 2008 TeraScale 1
55 nm
PCIe 2.0 x16 800 750 850 2048 DDR5 256 108,8 1200 240 160
FireStream 9350
(Cypress XT)
23. Juni 2010 TeraScale 2
40 nm
PCIe 2.1 x16 1440 700 1000 2048 DDR5 256 128 2016 403.2 150
FireStream 9370
(Cypress XT)
23. Juni 2010 TeraScale 2
40 nm
PCIe 2.1 x16 1600 825 1150 4096 DDR5 256 147.2 2640 528 225



Software

Der AMD FireStream wurde mit einer breiten Palette von Softwareplattformunterstützung eingeführt. Eines der unterstützenden Unternehmen war PeakStream ( im Juni 2007 von Google übernommen), das als erster eine offene Beta- Version der Software zur Unterstützung von CTM- und AMD FireStream- sowie x86- und Cell (Cell Broadband Engine)-Prozessoren bereitstellte . Der FireStream soll in typischen Anwendungen 20-mal schneller sein als normale CPUs, nachdem die Software von PeakStream ausgeführt wurde. RapidMind stellte auch Stream-Processing-Software bereit, die mit ATI und NVIDIA sowie mit Cell-Prozessoren funktionierte.

Software-Entwicklungskit

Nachdem AMD seine kurzlebige Close to Metal API aufgegeben hatte , konzentrierte man sich auf OpenCL . AMD hat sein Stream Computing SDK (v1.0) erstmals im Dezember 2007 unter der AMD EULA veröffentlicht , das unter Windows XP ausgeführt werden soll . Das SDK enthält "Brook+", eine AMD-hardwareoptimierte Version der Brook- Sprache, die von der Stanford University entwickelt wurde, selbst eine Variante der ANSI C ( C-Sprache ), Open Source und optimiert für Stream-Computing. Die AMD Core Math Library (ACML) und AMD Performance Library (APL) mit Optimierungen für den AMD FireStream und die COBRA-Videobibliothek (weiter umbenannt in "Accelerated Video Transcoding" oder AVT) für die Video-Transcoding- Beschleunigung werden ebenfalls enthalten sein. Ein weiterer wichtiger Teil des SDK, der Compute Abstraction Layer (CAL), ist eine Softwareentwicklungsschicht, die über die CTM-Hardwareschnittstelle für den Low-Level-Zugriff auf die GPU-Architektur für Performance-Tuning-Software in verschiedenen High-Level- Programmiersprachen ausgelegt ist .

Im August 2011 veröffentlichte AMD die Version 2.5 des ATI APP Software Development Kit, die Unterstützung für OpenCL 1.1 enthält , eine von der Khronos Group entwickelte parallele Computersprache . Das Konzept der Compute-Shader , offiziell DirectCompute genannt, in Microsofts API der nächsten Generation namens DirectX 11 ist bereits in Grafiktreibern mit DirectX 11-Unterstützung enthalten.

AMD APP-SDK

Benchmarks

Laut einem von AMD demonstrierten System mit zwei Dual-Core AMD Opteron Prozessoren und zwei Radeon R600 GPU Kernen unter Microsoft Windows XP Professional kann 1  Teraflop (TFLOP) durch eine universelle Multiply-Add (MADD)-Berechnung erreicht werden. Zum Vergleich: Ein damaliger Intel Core 2 Quad Q9650 3.0 GHz Prozessor konnte 48 GFLOPS erreichen.

In einer Demonstration des Antiviren-Scans von Kaspersky SafeStream, der für AMD-Stream-Prozessoren optimiert wurde, konnte 2007 mit der R670-basierten Beschleunigung 21-mal schneller gescannt werden als mit der Suche, die vollständig auf einem Opteron ausgeführt wurde.

Einschränkungen

  • Rekursive Funktionen werden in Brook+ nicht unterstützt, da alle Funktionsaufrufe zur Kompilierzeit inline eingebunden werden. Mit CAL werden Funktionen (rekursiv oder anderweitig) auf 32 Ebenen unterstützt.
  • Nur bilineare Texturfilterung wird unterstützt; Mipmapped- Texturen und anisotrope Filterung werden nicht unterstützt.
  • Funktionen können keine variable Anzahl von Argumenten haben. Das gleiche Problem tritt bei rekursiven Funktionen auf.
  • Die Konvertierung von Gleitkommazahlen in Ganzzahlen erfolgt auf GPUs anders als auf x86-CPUs; es ist nicht vollständig IEEE-754- kompatibel.
  • Die "globale Synchronisierung" auf der GPU ist nicht sehr effizient, was die GPU zwingt, den Kernel aufzuteilen und auf der CPU zu synchronisieren. Angesichts der variablen Anzahl von Multiprozessoren und anderer Faktoren gibt es möglicherweise keine perfekte Lösung für dieses Problem.
  • Die Busbandbreite und die Latenz zwischen CPU und GPU können zu einem Engpass werden .

Siehe auch

Verweise

Externe Links