0 Univ. Paderborn, FG Theoretische Elektrotechnik 0 Übersicht Motivation und Zielsetzung Grundlagen Funktionsprinzip einer Grafikarter
1 Univ. Paderborn, FG Theoretische Elektrotechnik 1 Motivation und Zielsetzung
2 Univ. Paderborn, FG Theoretische Elektrotechnik 2 CUDA CUDA: Compute Unified Device Architecture Entwickelt von NVIDIA Ermöglicht die Benutzung des Grafikprozessors zur Beschleunigung und Visualisierung wissenschaftlicher und technischer Berechnungen Standard-C-Entwicklungsumgebung Anwendungsbeispiele: Numerik Grafik Signalverarbeitung Wissenschaft
3 Univ. Paderborn, FG Theoretische Elektrotechnik 3 Unterlagen
4 Univ. Paderborn, FG Theoretische Elektrotechnik 4 Vergleich GPU v. CPU NVIDIA GeForce GTX 260 Stream-Prozessoren: Multiprozessoren, mit je 8 Kernen Core-Taktfrequenz : 576 MHz Speicher-Taktfrequenz: 999 MHz Speicher : 896MB Unterstützt Datentyp DOUBLE 1,4 Mrd. Transistoren Vergleich: Intel Core i7 (11/2008) 731 Millionen Transistoren Quelle:
5 Univ. Paderborn, FG Theoretische Elektrotechnik 5 Vergleich GPU v. CPU DRAM Cache ALU Control ALU DRAM GPUCPU
6 Univ. Paderborn, FG Theoretische Elektrotechnik 6 Vergleich GPU v. CPU
7 Univ. Paderborn, FG Theoretische Elektrotechnik 7 Vergleich GPU v. CPU Hardware-Modell Quelle: NVIDIA CUDA Programming Guide
8 Univ. Paderborn, FG Theoretische Elektrotechnik 8 Parallele Operationen in IDR(s) Norm dotMul Matrix*Vector GaussElimination …………
9 Univ. Paderborn, FG Theoretische Elektrotechnik 9 matrixMul b a1 a2 a3 a4 a5 a6 a7 a8 A C BLOCKBLOCK 1 a1 b c1 BLOCK 2 a2 b c2 BLOCK 3 a3 b c3 BLOCK n an b c4 c5 c6 c7 c8
10 Univ. Paderborn, FG Theoretische Elektrotechnik 10 Dreiecksummation Erwartetes Ergebnis Bei einer Reduktion von 512 Iterationen auf 8 Erwartung: Beschleunigung um ca. Faktor 50 Gemessenes Ergebnis: Beschleunigung nur um Faktor 5 (in Bezug auf rein iterative Summierung)
11 Univ. Paderborn, FG Theoretische Elektrotechnik 11 A A
12 Univ. Paderborn, FG Theoretische Elektrotechnik 12 BLOCK1 SparseMatrixMultiplikation Nmax N IrPr Jc B A C BLOCK2 30 0
13 Univ. Paderborn, FG Theoretische Elektrotechnik 13 SparseMatrixMultiplikation BlkY\BlkX Matrix: x Diagonale GPU:GTX260 Grid size:1024 (ms)
14 Univ. Paderborn, FG Theoretische Elektrotechnik 14 SparseMatrixMultiplikation BlkY\BlkX Matrix: x Diagonale GPU:GTX260 Grid size:1024 (ms)
15 Univ. Paderborn, FG Theoretische Elektrotechnik 15 SparseMatrixMultiplikation Diagonale Matlab CPU GPU Matrix:5000x5000 Quad CPU: RAM:3.25GB GPU:GTX260 Grid size:1024 Block size: 16x16 (ms)
16 Univ. Paderborn, FG Theoretische Elektrotechnik 16 Optimierung.Mögliche Strategie: Dreieckes Summierung(Summierung in Parallel) Minimierung leer laufende Threads.(32 Threads pro Wrap ) Shared Memory (geringere Latenz als globales Memory)
17 Univ. Paderborn, FG Theoretische Elektrotechnik 17 Block 1 Optimierung A A(1,1) A(2,1) A(3,1) A(4,1) A(n,1) A(1,2) A(1,n) b(1) b(2) b(n) share b(1) c11 c21 c12 c22 c1n c2n A(1,1)A(2,1) b(n) A(1,n)A(2,n) C2 C1
18 Univ. Paderborn, FG Theoretische Elektrotechnik 18 Optimierung M x N 1000x x x x x 5000 CPU Old GPU GPU Quad CPU: RAM:3.25GB GPU:GTX260 Grid size:1024 Block size: 8x64
19 Univ. Paderborn, FG Theoretische Elektrotechnik 19 Literature [1] NVIDIA_CUDA_BestPracticesGuide_2.3.pdf [2] NVIDIA_CUDA_BestPracticesGuide_2.3.pdf [3]CudaReferenceManual.pdf [4] White Paper Accelerateing MATLAB with CUDA Using MEX Files [5] Gaußsches Eliminationsverfahren; [6] Peter sonneveld, Martin B. Van Gijzen, IDR(s):A Family of simple and fast algorithms for solving large nosysmmetric systems of linear equations [7] Robert Sedgewick, Algorithmen in C., Pearson Studium, ISBN-10: Robert Sedgewick
20 Univ. Paderborn, FG Theoretische Elektrotechnik 20