General Purpose Computation on Graphics Processing Units (GPGPU)
-
Upload
harriet-wiley -
Category
Documents
-
view
32 -
download
0
description
Transcript of General Purpose Computation on Graphics Processing Units (GPGPU)
![Page 1: General Purpose Computation on Graphics Processing Units (GPGPU)](https://reader035.fdocuments.us/reader035/viewer/2022062720/568134ec550346895d9c283e/html5/thumbnails/1.jpg)
GPGPU - Skiseminar Parallel Programming and Parallel Algorithms
Alexander Zibula - 13.01.2010
Mit Nvidia CUDA
General Purpose Computation on Graphics Processing Units (GPGPU)
![Page 2: General Purpose Computation on Graphics Processing Units (GPGPU)](https://reader035.fdocuments.us/reader035/viewer/2022062720/568134ec550346895d9c283e/html5/thumbnails/2.jpg)
2
Motivation
Grundlagen
GPGPU und GPU Computing
Anwendungen
Fazit und Ausblick
Agenda
Motivation Grundlagen GPGPU u. GPU Computing Anwendungen Fazit u. Ausblick
![Page 3: General Purpose Computation on Graphics Processing Units (GPGPU)](https://reader035.fdocuments.us/reader035/viewer/2022062720/568134ec550346895d9c283e/html5/thumbnails/3.jpg)
3
Motivation
GPGPUGeneral Purpose Computation on Graphics Processing Units
Verwendung von Grafikkarten für allgemeine Berechnungen
Warum?GPU Entwicklung
Performance
Programmierbarkeit
Zahlreiche Anwendungen
[NVI09d]
Motivation Grundlagen GPGPU u. GPU Computing Anwendungen Fazit u. Ausblick
![Page 4: General Purpose Computation on Graphics Processing Units (GPGPU)](https://reader035.fdocuments.us/reader035/viewer/2022062720/568134ec550346895d9c283e/html5/thumbnails/4.jpg)
4
Motivation
GrundlagenGrafik Pipeline
Grafik APIs
Grafik Shader
Grafik Hardware
GPGPU und GPU Computing
Anwendungen
Fazit und Ausblick
Agenda
Motivation Grundlagen GPGPU u. GPU Computing Anwendungen Fazit u. Ausblick
![Page 5: General Purpose Computation on Graphics Processing Units (GPGPU)](https://reader035.fdocuments.us/reader035/viewer/2022062720/568134ec550346895d9c283e/html5/thumbnails/5.jpg)
5
Grafik Pipeline
Grafik PipelineModell der einzelnen Schritte zum „Rendern” einer 3D-Szene (Bildsynthese)
Anwendung Geometrie Rasterung Bildspeicher Bildschirm
Transformation Beleuchtung Projektion Ausschnitt
[Vgl. BB03, XP07]
Motivation Grundlagen GPGPU u. GPU Computing Anwendungen Fazit u. Ausblick
![Page 6: General Purpose Computation on Graphics Processing Units (GPGPU)](https://reader035.fdocuments.us/reader035/viewer/2022062720/568134ec550346895d9c283e/html5/thumbnails/6.jpg)
6
Grafik APIs
Grafik APIs (Programmierschnittstellen)Abstraktion von Hardware und Treiber
Direct3DProprietär
Bestandteil der Microsoft DirectX API Sammlung
OpenGLPlattformunabhängig
Koordiniert durch die Khronos Group
Motivation Grundlagen GPGPU u. GPU Computing Anwendungen Fazit u. Ausblick
![Page 7: General Purpose Computation on Graphics Processing Units (GPGPU)](https://reader035.fdocuments.us/reader035/viewer/2022062720/568134ec550346895d9c283e/html5/thumbnails/7.jpg)
7
Grafik Shader
Grafik ShaderKleine Programme zur Flexibilisierung der Grafik Pipeline
Programmierbar in: Assembler, HLSL, Cg oder GLSL
Drei TypenVertex Shader
Geometry Shader
Pixel Shader
Unified ShadersHarmonisierung der drei Typen
Discrete Shader Design Unified Shader Design
Shader A
Shader B
Shader C
Shader Core
[Vgl. NVI06]
Motivation Grundlagen GPGPU u. GPU Computing Anwendungen Fazit u. Ausblick
![Page 8: General Purpose Computation on Graphics Processing Units (GPGPU)](https://reader035.fdocuments.us/reader035/viewer/2022062720/568134ec550346895d9c283e/html5/thumbnails/8.jpg)
8
Grafik Shader (2)
Unified ShadersPerformance Verbesserung durch höhere, gleichmäßige Auslastung
[Vgl. NVI06]
Motivation Grundlagen GPGPU u. GPU Computing Anwendungen Fazit u. Ausblick
![Page 9: General Purpose Computation on Graphics Processing Units (GPGPU)](https://reader035.fdocuments.us/reader035/viewer/2022062720/568134ec550346895d9c283e/html5/thumbnails/9.jpg)
9
Grafik Hardware
Grafikkarten im SystemDedizierte Grafikkarten vs. integrierte Grafik
Unterschiede: Speicher, Leistung, Preis
SystemanbindungPCI Express
Bandbreite: 500 MB/s pro lane
Für Grafikkarten meist: PCIe v2 x16 8 GB/s Häufiger Flaschenhals für GPGPU Anwendungen
Motivation Grundlagen GPGPU u. GPU Computing Anwendungen Fazit u. Ausblick
![Page 10: General Purpose Computation on Graphics Processing Units (GPGPU)](https://reader035.fdocuments.us/reader035/viewer/2022062720/568134ec550346895d9c283e/html5/thumbnails/10.jpg)
10
Agenda
Motivation
Grundlagen
GPGPU und GPU ComputingStream Processing
Traditionelles GPGPU
GPU Computing mit CUDA
Anwendungen
Fazit und Ausblick
Motivation Grundlagen GPGPU u. GPU Computing Anwendungen Fazit u. Ausblick
![Page 11: General Purpose Computation on Graphics Processing Units (GPGPU)](https://reader035.fdocuments.us/reader035/viewer/2022062720/568134ec550346895d9c283e/html5/thumbnails/11.jpg)
11
Stream Processing
Stream ProcessingEinfaches paralleles Programmiermodell
Kernel (Instruktionen) angewendet auf Stream (Datenstrom)
Je nach Kernel: SIMD oder MIMD Klassifikation
Keine explizite Thread Synchronisation und Kommunikation
Geeignet beiHoher arithmetischer Komplexität
Datenparallelität
Datenlokalität
RestriktionenDatenabhängigkeiten
Rekursion
Motivation Grundlagen GPGPU u. GPU Computing Anwendungen Fazit u. Ausblick
![Page 12: General Purpose Computation on Graphics Processing Units (GPGPU)](https://reader035.fdocuments.us/reader035/viewer/2022062720/568134ec550346895d9c283e/html5/thumbnails/12.jpg)
12
Stream Processing (2)
Einfluss auf Hardware-ArchitekturenReduktion von Control & Cache möglich
Höherer Anteil Recheneinheiten (ALUs)
[Vgl. NVI09d]CPU GPU
Motivation Grundlagen GPGPU u. GPU Computing Anwendungen Fazit u. Ausblick
![Page 13: General Purpose Computation on Graphics Processing Units (GPGPU)](https://reader035.fdocuments.us/reader035/viewer/2022062720/568134ec550346895d9c283e/html5/thumbnails/13.jpg)
13
Traditionelles GPGPU
Direkte Nutzung der Grafik APIs und Programmiersprachen
NachteileHohe Komplexität
Improvisiertes Programmiermodell
Mangelnde Präzision (Ungenaue Datentypen)
Motivation Grundlagen GPGPU u. GPU Computing Anwendungen Fazit u. Ausblick
![Page 14: General Purpose Computation on Graphics Processing Units (GPGPU)](https://reader035.fdocuments.us/reader035/viewer/2022062720/568134ec550346895d9c283e/html5/thumbnails/14.jpg)
14
GPU Computing mit CUDA
Nvidia CUDA (Compute Unified Device Architecture)Software u. Hardwarearchitektur für parallele Programmierung
Verbesserung gegenüber GPGPUVereinfachung
Performance
Verbreitung
Heterogene AusführungParalleler Code GPU
Sequentieller Code CPU
GPGPU GPU Computing
Motivation Grundlagen GPGPU u. GPU Computing Anwendungen Fazit u. Ausblick
![Page 15: General Purpose Computation on Graphics Processing Units (GPGPU)](https://reader035.fdocuments.us/reader035/viewer/2022062720/568134ec550346895d9c283e/html5/thumbnails/15.jpg)
15
CUDA Übersicht
[Vgl. NVI09a]
Motivation Grundlagen GPGPU u. GPU Computing Anwendungen Fazit u. Ausblick
![Page 16: General Purpose Computation on Graphics Processing Units (GPGPU)](https://reader035.fdocuments.us/reader035/viewer/2022062720/568134ec550346895d9c283e/html5/thumbnails/16.jpg)
16
CUDA Komponenten
Weitere CUDA KomponentenCompiler
FunktionsbibliothekenCUBLAS für lineare Algebra (Basic Linear Algebra Subprograms)
CUFFT für Fourier-Transformation (FFT)
Debugger cudagdb
Profiler cudaprof zur Optimierung
Motivation Grundlagen GPGPU u. GPU Computing Anwendungen Fazit u. Ausblick
![Page 17: General Purpose Computation on Graphics Processing Units (GPGPU)](https://reader035.fdocuments.us/reader035/viewer/2022062720/568134ec550346895d9c283e/html5/thumbnails/17.jpg)
17
CUDA Programmiermodell
Thread-HierachieGrids
Thread blocks
Threads
Thread IdentifizierungImplizit definierte Variablen:
threadIdx.x .y .zblockIdx.x .y .z
Kernel AufrufDim3 dimGrid(3, 2);Dim3 dimBlock(4, 3);kernel<<<dimGrid, dimBlock>>>(parameter); [Vgl. NVI09d]
Motivation Grundlagen GPGPU u. GPU Computing Anwendungen Fazit u. Ausblick
![Page 18: General Purpose Computation on Graphics Processing Units (GPGPU)](https://reader035.fdocuments.us/reader035/viewer/2022062720/568134ec550346895d9c283e/html5/thumbnails/18.jpg)
18
Code Beispiel
Beispiel: SAXPY (Scalar Alpha X Plus Y)Skalare Multiplikation und Vektoraddition
Serielle Lösung in C mittels for-Schleife:
void saxpy_seriell (int n, float alpha, float *x, float *y) {for (int i = 0; i < n; ++i) {
y[i] = alpha * x[i] + y[i];}
}// Funktionsaufrufsaxpy_seriell(n, 3.0, x, y);
yxy
Motivation Grundlagen GPGPU u. GPU Computing Anwendungen Fazit u. Ausblick
![Page 19: General Purpose Computation on Graphics Processing Units (GPGPU)](https://reader035.fdocuments.us/reader035/viewer/2022062720/568134ec550346895d9c283e/html5/thumbnails/19.jpg)
19
Code Beispiel 1
Beispiel: SAXPYParallele Lösung mit CUDA:
// Kernel Definition__global__void saxpy_parallel(int n, float alpha, float *x, float *y) {
int i = blockIdx.x * dimBlock.x + threadIdx.x;if (i < n) {
y[i] = alpha * x[i] + y[i];}
}
// Kernel Aufruf (Invocation)Dim3 dimGrid(4);Dim3 dimBlock(256);saxpy_parallel <<<dimGrid, dimBlock>>> (1024, 3.0, x, y);
Motivation Grundlagen GPGPU u. GPU Computing Anwendungen Fazit u. Ausblick
![Page 20: General Purpose Computation on Graphics Processing Units (GPGPU)](https://reader035.fdocuments.us/reader035/viewer/2022062720/568134ec550346895d9c283e/html5/thumbnails/20.jpg)
20
CUDA Speicherhierachie
SpeicherhierachieLokaler Speicher
Pro Thread
Gemeinsamer Speicher
Pro Thread Block
Globaler Speicher
Pro Anwendung
[Vgl. NVI09d]
Motivation Grundlagen GPGPU u. GPU Computing Anwendungen Fazit u. Ausblick
![Page 21: General Purpose Computation on Graphics Processing Units (GPGPU)](https://reader035.fdocuments.us/reader035/viewer/2022062720/568134ec550346895d9c283e/html5/thumbnails/21.jpg)
21
CUDA Kompilierung
KompilierungTrennung von gemischtem CPU / GPU Code
Zusätzliche Kompilierungsschritte
Hardware Abstraktion
.cpp
.cu
.ptx
[Vgl. Ha08]
Motivation Grundlagen GPGPU u. GPU Computing Anwendungen Fazit u. Ausblick
![Page 22: General Purpose Computation on Graphics Processing Units (GPGPU)](https://reader035.fdocuments.us/reader035/viewer/2022062720/568134ec550346895d9c283e/html5/thumbnails/22.jpg)
22
Motivation
Grundlagen
GPGPU und GPU Computing
AnwendungenMatrix-Matrix Multiplikation
Performance Experiment
Anwendungsszenarien
Fazit und Ausblick
Agenda
Motivation Grundlagen GPGPU u. GPU Computing Anwendungen Fazit u. Ausblick
![Page 23: General Purpose Computation on Graphics Processing Units (GPGPU)](https://reader035.fdocuments.us/reader035/viewer/2022062720/568134ec550346895d9c283e/html5/thumbnails/23.jpg)
23
Matrix-Matrix Multiplikation
Multiplikation zweier Matrizen mit CUDAHohe arithmetische Komplexität
Lösung 1Ohne Ausnutzung von gemeinsamen Speicher
Häufiger Zugriff auf Matrizen A und B aus globalem Speicher
[Vgl. NVI09d]
Motivation Grundlagen GPGPU u. GPU Computing Anwendungen Fazit u. Ausblick
![Page 24: General Purpose Computation on Graphics Processing Units (GPGPU)](https://reader035.fdocuments.us/reader035/viewer/2022062720/568134ec550346895d9c283e/html5/thumbnails/24.jpg)
24
Matrix-Matrix Multiplikation (2)
Lösung 2Aufteilung der Ursprungsmatrizen in Blöcke
Ausnutzung des gemeinsamen SpeichersZwischenspeichern von Teilmatrizen
Lösung 3CUBLAS 2.3: SGEMM
BLAS Level 3 Operation
[Vgl. NVI09d]
Motivation Grundlagen GPGPU u. GPU Computing Anwendungen Fazit u. Ausblick
![Page 25: General Purpose Computation on Graphics Processing Units (GPGPU)](https://reader035.fdocuments.us/reader035/viewer/2022062720/568134ec550346895d9c283e/html5/thumbnails/25.jpg)
25
Code Beispiel 2// Matrix multiplication - Host codevoid MatMul(const Matrix A, const Matrix B, Matrix C){
// Lade Matrix A in GPU SpeicherMatrix d_A;d_A.width = A.width; d_A.height = A.height;size_t size = A.width * A.height * sizeof(float);
cudaMalloc((void**)&d_A.elements, size);cudaMemcpy(d_A.elements, A.elements, size, cudaMemcpyHostToDevice);
// Analog für B// Analog für C (ohne cudaMemcpy)
[Vgl. NVI09d]
Motivation Grundlagen GPGPU u. GPU Computing Anwendungen Fazit u. Ausblick
![Page 26: General Purpose Computation on Graphics Processing Units (GPGPU)](https://reader035.fdocuments.us/reader035/viewer/2022062720/568134ec550346895d9c283e/html5/thumbnails/26.jpg)
26
Code Beispiel 2// Kernelaufrufdim3 dimBlock(BLOCK_SIZE, BLOCK_SIZE);dim3 dimGrid(B.width / dimBlock.x, A.height / dimBlock.y);MatMulKernel<<<dimGrid, dimBlock>>>(d_A, d_B, d_C);
// Lade Matrix C aus GPU SpeichercudaMemcpy(C.elements, Cd.elements, size, cudaMemcpyDeviceToHost);
// GPU Speicher freigebencudaFree(d_A.elements); //analog für B und C
[Vgl. NVI09d]
Motivation Grundlagen GPGPU u. GPU Computing Anwendungen Fazit u. Ausblick
![Page 27: General Purpose Computation on Graphics Processing Units (GPGPU)](https://reader035.fdocuments.us/reader035/viewer/2022062720/568134ec550346895d9c283e/html5/thumbnails/27.jpg)
27
Performance Experiment
KonfigurationAMD Phenom X4 9650 (2,3 GHz)
GeForce 8800 GTS 640MB (G80)
Windows Vista 64bit
CUDA Toolkit & SDK v2.3
VergleicheEinfache CPU Lösung (Drei geschachtelte Schleifen)
Theoretische CPU Leistung: 73,6 GFlops (18,4 pro Kern)
Einfache CUDA Lösung (Mit gemeinsamem Speicher)
Optimierte CUDA Lösung (CUBLAS 2.3)
Motivation Grundlagen GPGPU u. GPU Computing Anwendungen Fazit u. Ausblick
![Page 28: General Purpose Computation on Graphics Processing Units (GPGPU)](https://reader035.fdocuments.us/reader035/viewer/2022062720/568134ec550346895d9c283e/html5/thumbnails/28.jpg)
28
Performance Experiment (2)
16 32 64 128 256 384 512 768 1024 1536 2048 3072 4096 51200
20
40
60
80
100
120
140
160CUBLAS 2.3 (kernel)CUBLAS 2.3 (effektiv)Simple CUDA (kernel)Simple CUDA (effektiv)Simple CPU (1 Kern)
Matrix Größe n
GFlops
CPU Optimierung: BLAS Bibliotheken (z.B. ATLAS o. AMD ACML) ~15 GFlops pro Kern auf Phenom 9600 [Sa09]
Theoretische vs. praktische Performance
Kernel vs. effektive Performance: Speichertransfers
Flaschenhals: PCIe minimale Problemgröße
Motivation Grundlagen GPGPU u. GPU Computing Anwendungen Fazit u. Ausblick
![Page 29: General Purpose Computation on Graphics Processing Units (GPGPU)](https://reader035.fdocuments.us/reader035/viewer/2022062720/568134ec550346895d9c283e/html5/thumbnails/29.jpg)
29
Einsatz in Supercomputern
Tianhe-1 [TOP09]
5120 GPUs + 5120 CPUs
563 TFlops Linpack Aktuell #5 in TOP500 (1,042 PFlops max) (DP)
Nutzung: Flugzeugsimulation, Öl Exploration
CSIRO CPU-GPU Supercomputer Cluster [CSI09]
64 Nvidia Grafikkarten (256 GPUs) 256 TFlops (DP)
Nutzung: Bio-, Chemie-, Astrophysik- u. Klimaforschung
FASTRA II [UA09]
7 Nvidia Grafikkarten (13 GPUs)
12 TFlops (SP)
Nutzung: Medizinische Bildverarbeitung
Motivation Grundlagen GPGPU u. GPU Computing Anwendungen Fazit u. Ausblick
SP = Single Precision, DP = Double Precision
![Page 30: General Purpose Computation on Graphics Processing Units (GPGPU)](https://reader035.fdocuments.us/reader035/viewer/2022062720/568134ec550346895d9c283e/html5/thumbnails/30.jpg)
30
Anwendungsfelder
PhysiksimulationN-Körper-Problem
Spielphysik („PhysX“)
BildverarbeitungMedizin
Datenanalyse und DatenbankenPostgreSQL mit CUDA [Ho09]
Data Mining, Sortieren
http://www.nvidia.com/object/data_mining_analytics_database.html
Motivation Grundlagen GPGPU u. GPU Computing Anwendungen Fazit u. Ausblick
![Page 31: General Purpose Computation on Graphics Processing Units (GPGPU)](https://reader035.fdocuments.us/reader035/viewer/2022062720/568134ec550346895d9c283e/html5/thumbnails/31.jpg)
31
Anwendungsfelder (2)
Numerik
Signalverarbeitung
Strömungssimulation
VerschlüsselungBrute-Force-Angriffe z.B. auf MD5, SHA1, DECT, GSM, WPA
GPGPU Anlass für stärke Passwörter / Verschlüsslungen
VideoverarbeitungH.264 Encoding
Motivation Grundlagen GPGPU u. GPU Computing Anwendungen Fazit u. Ausblick
![Page 32: General Purpose Computation on Graphics Processing Units (GPGPU)](https://reader035.fdocuments.us/reader035/viewer/2022062720/568134ec550346895d9c283e/html5/thumbnails/32.jpg)
32
Grid Computing
Grid Computing mit GPU UnterstützungFolding@home [SU09]
BOINC (z.B. SETI@home, GPUGRID) [UC09]
Motivation Grundlagen GPGPU u. GPU Computing Anwendungen Fazit u. Ausblick
![Page 33: General Purpose Computation on Graphics Processing Units (GPGPU)](https://reader035.fdocuments.us/reader035/viewer/2022062720/568134ec550346895d9c283e/html5/thumbnails/33.jpg)
33
Motivation
Grundlagen
GPGPU und GPU Computing
Algorithmen und Anwendungen
Fazit und Ausblick
Agenda
Motivation Grundlagen GPGPU u. GPU Computing Anwendungen Fazit u. Ausblick
![Page 34: General Purpose Computation on Graphics Processing Units (GPGPU)](https://reader035.fdocuments.us/reader035/viewer/2022062720/568134ec550346895d9c283e/html5/thumbnails/34.jpg)
34
CUDA Vorteile
ProgrammiermodellSkalierbarkeit
Einfachheit
Explizite Parallelisierung
Automatische Threadverwaltung
PerformanceGemeinsamer Speicher
InvestitionSoftware kostenlos, Hardware relativ günstig
Hohe VerbreitungHardware, Anwendungen, Publikationen und Partnerschaften
Motivation Grundlagen GPGPU u. GPU Computing Anwendungen Fazit u. Ausblick
![Page 35: General Purpose Computation on Graphics Processing Units (GPGPU)](https://reader035.fdocuments.us/reader035/viewer/2022062720/568134ec550346895d9c283e/html5/thumbnails/35.jpg)
35
CUDA Nachteile
Keine Rekursion
Teilweise Abweichungen von IEEE 754 Rundungsregeln
CPU-GPU Transfer Flaschenhals
Sehr viele Threads nötig für volle Auslastung
Viel spezieller Code / spezielles Programmierwissen hiCUDA [HA09], CUDA-lite [ULB08]
Auf Nvidia Grafikkarten beschränkt Standards: OpenCL, DirectX 11
Motivation Grundlagen GPGPU u. GPU Computing Anwendungen Fazit u. Ausblick
![Page 36: General Purpose Computation on Graphics Processing Units (GPGPU)](https://reader035.fdocuments.us/reader035/viewer/2022062720/568134ec550346895d9c283e/html5/thumbnails/36.jpg)
36
Motivation
Grundlagen
Traditionelles GPGPU
CUDA
Anwendungen
VoraussetzungenProblemgröße / arithmetische Komplexität
Datenparallelität
Datenlokalität
„Demokratisierung der parallelen Programmierung“ [NBG08]
Preis / Performance Verhältnis
Verbreitung und Relevanz für Konsumenten
Fazit
Motivation Grundlagen GPGPU u. GPU Computing Anwendungen Fazit u. Ausblick
![Page 37: General Purpose Computation on Graphics Processing Units (GPGPU)](https://reader035.fdocuments.us/reader035/viewer/2022062720/568134ec550346895d9c283e/html5/thumbnails/37.jpg)
37
Ausblick
Nvidia Fermi
OpenCL
DirectCompute
Konvergenz und Integration von GPU und CPUParallellität (CPU)
Multi-threading Multi-core Many-core
Programmierbarkeit (GPU)„Fixed Function“ Teilweise programmierbar Voll programmierbar
Beispiele: Intel Larrabee, AMD Fusion, Intel SCC
Motivation Grundlagen GPGPU u. GPU Computing Anwendungen Fazit u. Ausblick
![Page 38: General Purpose Computation on Graphics Processing Units (GPGPU)](https://reader035.fdocuments.us/reader035/viewer/2022062720/568134ec550346895d9c283e/html5/thumbnails/38.jpg)
38
Extra: CUDA Einstieg
Was benötige ich um CUDA Programme auszuführen?CUDA-fähige Grafikkarte
Desktop & Notebook Grafikkarten ab GeForce 8 mit ≥ 256 MB Speicher
Professionelle Grafikkarten (Quadro, Tesla)
Liste http://www.nvidia.com/object/cuda_learn_products.html
Aktueller CUDA Treiber
Was benötige ich um CUDA Programme zu schreiben?CUDA Toolkit
CUDA SDK (optional)
Visual Studio 2008 (optional)
CUDA ZONE http://www.nvidia.com/object/cuda_home.html
GPGPU Portal http://gpgpu.org/
Vollständige Quellen u. Links: siehe AusarbeitungMotivation Grundlagen GPGPU u. GPU Computing Anwendungen Fazit u. Ausblick
![Page 39: General Purpose Computation on Graphics Processing Units (GPGPU)](https://reader035.fdocuments.us/reader035/viewer/2022062720/568134ec550346895d9c283e/html5/thumbnails/39.jpg)
39
Fragen
Alexander [email protected]
Motivation Grundlagen GPGPU u. GPU Computing Anwendungen Fazit u. Ausblick