+ All Categories
Home > Documents > GPU Computing Burim Kameri Fachhochschule Hannover (FHH) Institut für Solarforschung Hameln (ISFH)

GPU Computing Burim Kameri Fachhochschule Hannover (FHH) Institut für Solarforschung Hameln (ISFH)

Date post: 06-Apr-2015
Category:
Upload: jutte-langer
View: 102 times
Download: 0 times
Share this document with a friend
12
GPU Computing Burim Kameri Fachhochschule Hannover (FHH) Institut für Solarforschung Hameln (ISFH)
Transcript
Page 1: GPU Computing Burim Kameri Fachhochschule Hannover (FHH) Institut für Solarforschung Hameln (ISFH)

GPU Computing

Burim Kameri

Fachhochschule Hannover (FHH)

Institut für Solarforschung Hameln (ISFH)

Page 2: GPU Computing Burim Kameri Fachhochschule Hannover (FHH) Institut für Solarforschung Hameln (ISFH)

Inhalt

• Sequentielle vs. parallele Programmierung• GPU• GPGPU• CUDA, OpenCL, etc.• Problemstellung• Beispiele• Optimierung

GPU - Computing

Page 3: GPU Computing Burim Kameri Fachhochschule Hannover (FHH) Institut für Solarforschung Hameln (ISFH)

Motivation

GPU - Computing

Page 4: GPU Computing Burim Kameri Fachhochschule Hannover (FHH) Institut für Solarforschung Hameln (ISFH)

Motivation: Beispiel

64 128 256 5120

100

200

300

400

500

600

700

800

900

1000928

387

36

CPU [ms]

GPU [ms] - nicht optimiert

GPU [ms] - optimiert

Matrix Size

Time[ms]

Page 5: GPU Computing Burim Kameri Fachhochschule Hannover (FHH) Institut für Solarforschung Hameln (ISFH)

Sequentielle vs. parallele Programmierung

• Sequentielle Programmierung

GPU - Computing

Quelle: https://computing.llnl.gov/tutorials/parallel_comp/

Page 6: GPU Computing Burim Kameri Fachhochschule Hannover (FHH) Institut für Solarforschung Hameln (ISFH)

Sequentielle vs. parallele Programmierung

• Parallele Programmierung

GPU - Computing

Quelle: https://computing.llnl.gov/tutorials/parallel_comp/

Page 7: GPU Computing Burim Kameri Fachhochschule Hannover (FHH) Institut für Solarforschung Hameln (ISFH)

GPGPU - OpenCL

• Zusätzliche Verwendung der GPU für allgemeine Aufgaben

GPU - Computing

Quelle: CUDA C Programming Guide

Quelle: http://de.wikipedia.org/wiki/OpenCL

Page 8: GPU Computing Burim Kameri Fachhochschule Hannover (FHH) Institut für Solarforschung Hameln (ISFH)

Beispiel (Matrix-Skalar-Multiplikation)

• CPU

• GPU (OpenCL)

GPU - Computing

void multMatrix(float* A, float c, float* B) {for( i = 0;i < 225;i++ ) {

B[i] = A[i] * c;}

}

__kernel__void multMatrix(float* A, float c, float* B) {

int idx = get_global_id(0);B[idx] = A[idx] * c;

}

Page 9: GPU Computing Burim Kameri Fachhochschule Hannover (FHH) Institut für Solarforschung Hameln (ISFH)

Optimierung

GPU - Computing

Page 10: GPU Computing Burim Kameri Fachhochschule Hannover (FHH) Institut für Solarforschung Hameln (ISFH)

Optimierung

Page 11: GPU Computing Burim Kameri Fachhochschule Hannover (FHH) Institut für Solarforschung Hameln (ISFH)

Zusammenfassung

• Aufteilung des Domänenproblems- Tieferes Verständnis des Domänenproblems nötig

• Wissen über das Programmiermodell- work-items, work-groups, Kernels,

Speicherhirachien, etc.- Synchronisierung- Tiefes Wissen über die GPU-Architektur- Shared Memory- Kontrollstrukturen mit bedingten Verzweigungen vermeiden

GPU - Computing

Page 12: GPU Computing Burim Kameri Fachhochschule Hannover (FHH) Institut für Solarforschung Hameln (ISFH)

Dankeschön!

Fragen?

GPU - Computing


Recommended