www.wikidata.de-de.nina.az
General Purpose Computation on Graphics Processing Unit kurz GPGPU vom Englischen fur Allzweck Berechnung auf Grafikprozessoreinheit en bezeichnet die Verwendung eines Grafikprozessors fur Berechnungen uber seinen ursprunglichen Aufgabenbereich hinaus Dies konnen beispielsweise Berechnungen zu technischen oder wirtschaftlichen Simulationen sein Bei parallelen Algorithmen kann so eine enorme Geschwindigkeitssteigerung im Vergleich zum Hauptprozessor erzielt werden Inhaltsverzeichnis 1 Uberblick 2 Geschichte 3 Kritik 4 Programmierung 5 Siehe auch 6 Literatur 7 WeblinksUberblick BearbeitenGPGPU ist aus den Shadern der Grafikprozessoren hervorgegangen Die Starke liegt im gleichzeitigen Ausfuhren gleichformiger Aufgaben wie dem Einfarben von Pixeln oder der Multiplikation grosser Matrizen Da der Geschwindigkeitszuwachs moderner Prozessoren derzeit nicht mehr primar durch die Erhohung des Taktes zu erreichen ist ist die Parallelisierung ein wichtiger Faktor zum Erreichen hoherer Rechenleistungen moderner Computer Der Vorteil der Verwendung der GPU gegenuber der CPU liegt in der hoheren Rechenleistung und der hoheren Speicherbandbreite Die Geschwindigkeit wird hauptsachlich durch den hohen Grad an Parallelitat der Rechenoperationen des Grafikprozessors erreicht nbsp Folgende Teile dieses Abschnitts scheinen seit 2017 nicht mehr aktuell zu sein Kennzahlen der Tabelle bitte erneuern oder Jahreszahlen anfugen Hardware ist aus den 201x Bitte hilf uns dabei die fehlenden Informationen zu recherchieren und einzufugen Wikipedia WikiProjekt Ereignisse Vergangenheit fehlend Modell Theoretische Rechenleistung Speicherbus Datenrate GByte s Speichertyp Artbei einfacher bei doppelterGenauigkeit GFlops AMD Radeon Pro Duo 16 384 1 024 1 024 HBM GPUAMD Radeon R9 Fury X 8 602 538 512Nvidia Geforce GTX Titan X 6 144 192 336 GDDR5AMD FirePro W9100 5 350 2 675 320Nvidia Tesla K20X 3 950 1 310 250AMD Radeon HD 7970 3 789 947 264Intel Xeon Phi 7120 2 420 1 210 352 Co ProzessorPlayStation 4 SoC AMD 1 860 167 APUNvidia Geforce GTX 580 1 581 198 192 4 GPUIntel Xeon E7 8890 v3 1 440 720 102 4 DDR4 CPUAMD A10 7850k 856 34 DDR3 APUIntel Core i7 3930K 307 2 153 6 51 2 CPUIntel Pentium 4 mit SSE3 3 6 GHz 14 4 7 2 6 4 DDR2Fragment und Vertex Shader konnen gleichzeitig ausgefuhrt werden Ein weiterer Vorteil ist der geringe Preis im Vergleich zu ahnlich schnellen anderen Losungen sowie die Tatsache dass geeignete Grafikkarten heute in nahezu jedem PC zu finden sind Geschichte BearbeitenShader waren anfangs nur mit speziellen Funktionen die eng mit grafischen Berechnungen verknupft waren verbunden Um die Geschwindigkeit der Berechnung einzelner Pixel zu beschleunigen ging man dazu uber die Berechnung einzelner Pixel gleichzeitig auszufuhren indem man mehrere gleichartige Rechenwerke einsetzte Spater kam man auf den Gedanken die sehr beschrankten Fahigkeiten der Shader zu erweitern um sie zu massiv parallelen Recheneinheiten fur beliebige Aufgaben werden zu lassen Die ersten mehr oder weniger frei programmierbaren Shader entstanden Der Trend Shader frei programmierbar zu designen halt bis heute an und wird von den Chipdesignern mit jeder neuen Technologiegeneration stets weiter vorangetrieben Moderne GPUs haben teilweise uber 1000 dieser programmierbaren Shadereinheiten und konnen somit auch uber 1000 Rechenoperationen gleichzeitig ausfuhren Kritik BearbeitenDurch OpenCL existiert eine einheitliche Schnittstelle zur Umsetzung von GPGPU Berechnungen Der Nachteil gegenuber herkommlichen CPUs ist die massive Parallelitat mit der die Programme ausgefuhrt werden mussen um diese Vorteile zu nutzen Auch sind GPUs im Funktionsumfang beschrankt Fur den wissenschaftlichen Bereich existieren spezielle Grafikmodelle Nvidia Tesla AMD FireStream Der Speicher dieser Grafikkarten verfugt uber Fehlerkorrekturverfahren und deren Genauigkeit bei der Berechnung von Gleitkommazahlen ist grosser was sich auch in den Kosten widerspiegelt Programmierung BearbeitenFur die Entwicklung GPGPU fahiger Programme stehen vor allem OpenCL CUDA und seit 2012 C AMP zur Verfugung OpenCL ist ein offener Standard der auf vielen Plattformen zur Verfugung steht CUDA dagegen ist ein proprietares Framework von Nvidia und auch nur auf GPUs dieses Herstellers lauffahig AMP ist eine von Microsoft initiierte C Spracherweiterung die sich jedoch auch innerhalb der Microsoft Entwicklergemeinschaft nicht durchsetzen konnte so dass AMP von Microsoft abgeschrieben wurde Status deprecated und Visual Studio 2022 der letzte AMP unterstutzende Compiler sein wird Ein neuerer Ansatz ist OpenACC das ahnlich wie OpenMP uber Compiler Pragmas gesteuert wird Damit wird gewohnlicher Sourcecode z B in C automatisch parallelisiert indem gewisse Compiler Pragmas wie pragma acc parallel den seriell formulierten For Schleifen vorangestellt werden Der Portierungs Aufwand ist so relativ klein Allerdings fuhrt eine automatische Parallelisierung nicht immer zu optimalen Losungen OpenACC kann also explizite Parallelprogrammierung wie in OpenCL nie ganz ersetzen Dennoch ist es in vielen Fallen lohnend auf diese einfache Art hohe Beschleunigungs Faktoren auf GPGPU erreichen zu konnen OpenACC wird von kommerziellen Compilern wie PGI und freien Compilern wie der GNU Compiler Collection unterstutzt Um Programme auf einer GPU auszufuhren benotigt man ein Hostprogramm das die Steuerung des Informationsflusses ubernimmt Meist wird zur Laufzeit der in einer C ahnlichen Sprache formulierte GPGPU Code auf Anweisung des Hostprogrammes kompiliert und an den Grafikprozessor zur Weiterverarbeitung gesandt der dann die errechneten Daten an das Hostprogramm zuruckgibt Siehe auch BearbeitenGrafikkarte Cell Prozessor Streamprozessor Vektorprozessor Direct Rendering Manager Render Nodes ermoglichen direkten Zugriff Heterogeneous System ArchitectureLiteratur BearbeitenMatt Pharr GPU Gems 2 Addison Wesley Publishing Company 2005 ISBN 0 321 33559 7 Part IV General Purpose Computation on GPUs A Primer David B Kirk Programming Massively Parallel Processors A Hands on Approach Paperback Morgan Kaufmann 2010 ISBN 978 0 12 381472 2 Weblinks BearbeitenGPU Gems 2 GPGPU org Nvidia working on first GPGPUs for Apple Macs AppleInsider January 24 2008 GPU4Vision GPGPU Publications Videos and Software GPGPU Computing ein Uberblick fur Anfanger und Fortgeschrittene planet3dnow de 26 Mai 2009 Tobias Preis Peter Virnau Wolfgang Paul Johannes J Schneider GPU accelerated Monte Carlo simulation of the 2D and 3D Ising model In Journal of Computational Physics 228 2009 S 4468 4477 doi 10 1016 j jcp 2009 03 018 Prozessorarchitekturen nbsp nach Wortbreite 1 Bit Architektur Bit Slice Architektur 4 Bit Architektur 8 Bit Architektur 16 Bit Architektur 32 Bit Architektur 64 Bit Architekturnach Befehlssatzaufbau CISC EPIC NISC RISC VLIW Mikroarchitekturmit Optimierung fur Einsatzzweck Haupt Prozessor Grafikprozessor GPGPU Streamprozessor Soundprozessor Gleitkommaeinheit Netzwerkprozessor Physikbeschleuniger Vektorprozessor TensorFlow Processing Unit Abgerufen von https de wikipedia org w index php title General Purpose Computation on Graphics Processing Unit amp oldid 238682396