GPU Computing Burim Kameri Fachhochschule Hannover (FHH)

Slides:



Advertisements
Ähnliche Präsentationen

Advertisements

Automated IT Change Planning
< CUDA implementation>
Funktionen und Module Einführung anhand des Beispiels Wörter sortieren Timm Grams Fachhochschule Fulda Fachbereich Elektrotechnik und Informationstechnik.
Constantin Timm Informatik 12 TU Dortmund
Computer Von Alexander Wild.
Agenda Sitzung 2 für den Programmaufbau
Strukturierter Text.
6. Der OpenMP Standard Direktiven-basiertes API zur Programmierung von Parallelrechnern mit gemeinsamem Speicher für FORTRAN, C und C++
Verteilte Software - Java - Prozedurale Programmierung 1
Threads Richard Göbel.
FOR Anweisung.
FOR Anweisung. Aufgabe : Ausgabe aller ganzen Zahlen von 0 bis 100 auf dem Bildschirm.
V11 Auflösen der Formen Abräumen der Reihen. Erweiterung der Klasse ultris class ultris { private: … void aufloesen() void aufruecken() public: … }
1 Named Pipes alias FIFO Haben einen Eintrag im Dateisystem und sind somit durch Zugriffsrechte identifizierbar Ermöglichen die Kommunikation zwischen.
Universität Dortmund, Lehrstuhl Informatik 1 EINI II Einführung in die Informatik für Naturwissenschaftler und Ingenieure.
3.1.4 Leser/Schreiber-Ausschluß (reader/writer exclusion)
Anforderungen an globales und privates IP-Networking Berlin - 27
Eigene Metoden (Turtle-Paket (C) Taulien 2003)
Random Heightmap on GPU
Matrix Multiplication on CUDA
< Best practices >
Leitfaden Motivation Was ist CUDA ? NVIDIA Grafikkarte Programmierung
Informatik I for D-MAVT
Supercomputer FSJS-X3000 Lehrlingswettbewerb Züri Oberland 2013 Uster
Mobiltelefone heute (Smartphones)
Einführung in die Programmierung Wintersemester 2010/11 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Bessere Lehre? Mehr Flexibilität beim Lernen? MOOC Fellowship – Wettbewerb für besseres Lehren & Lernen! Stimmt dafür auf
Das Bahnerlebnis in Europa Interrail. Zugfahrt in einer ausgewählten Destination zu einem Pauschaltarif Für Jugendliche und Erwachsene Reichhaltiges Erlebnis.
OpenSource Loadbalancer im Vergleich zu kommerziellen systemem Thomas stahl Diplomarbeit SS 2002.
Clustering mittels Grafikprozessor
Raimond Reichert Einführung in die Verwendung von Processing innerhalb von Eclipse.
China mit Hauptstadt Peking Olympiade in Beijing 2008 Olympic Games
Diskrete Mathematik II
GPU Computing Burim Kameri Fachhochschule Hannover (FHH)
Developer Day Webseiten auf Windows Azure hosten Britta Labud bbv Software Services AG Roland Krummenacher bbv Software Services AG.
Windows Azure Websites Roland Krummenacher Senior Software Engineer, bbv Software Services
Mitglied der Helmholtz-Gemeinschaft Computation of Mutual Information Metric for Image Registration on Multiple GPUs Andrew V. Adinetz 1, Markus Axer 2,
Die Zählschleife int s = 0 for (int k=1; k
Einführung in die Programmiersprache C 4
Parallel Programming Proofs ( yay !)
Parallel Programming Parallel Matrix Multiplication
Algorithm Engineering Parallele Algorithmen Stefan Edelkamp.
Algorithm Engineering „GPU Algorithmen“
Computerorientierte Physik VORLESUNG
Ein Vortrag von Simon Bayer
AIRBNB Sibylle Frey und Alisa Zaugg
Inhalt Motivation Hardware Design aktueller GPUs
Vernetzung von Rechnern
Javelin Internet-based parallel computing using Java.
Hauptseminar 2001 „Parallele Programmierung in Java“ - JPVM- Java Parallel Virtual Machine Referent: Sebastian Steininger.
CAS ICT Modul Netzwerk Christoph Röthenmund
Java-Kurs - 8. Übung Besprechung der Hausaufgabe.
Central Processing Unit von David Kleuker und Thomas Auner
VILVITE Isa Ottesen, Hans Jørgen Jacobsen und Victoria Vestrheim.
Studiumbereich: Informatik
Das Client-Server-Prinzip und TCP/IP
DVD-Laufwerk Gliederung: -Allgemeines -Funktionsweise -Kaufberatung
Proseminar – Computer Graphics Nikolaos Tsanakas computer graphics & visualization OpenGL Shading Language.
Zielvereinbarung mit SMART
Wissenschaftliches Programmieren „CUDA“ Achim Grolms Buyu Xiao Guanhua Bai Betreuer: Dipl.-Ing. Bastian Bandlow.
Aachen, Seminarvortrag Von: Lukas Abels-Vehns OpenCL mit Aparapi.
Vergleich der Frameworks OpenCL und CUDA zur GPGPU- gestützten Datenverarbeitung Leonid Kostrykin Matr.Nr.: Lehrstuhl.
Paralleleles Rechnen auf Grafikkarten Einführung Christian Schwarz.
Lineare Algebra Softwareprojekt: Anwendung von Algorithmen Sebastian Kürten, Philipp Borgers SoSe 2010.
Blowfish mit CUDA Dominik Oepen Inhalt ● Blowfish Grundlagen ● Implementierungsdetails ● Performance ● Fazit.
Ultrakurzeinführung OpenCV
OAI Protocol for Metadata Harvesting
Definition Felder Konstruktor Methoden Beispiel
Shared Memory Programmierung: Grundlagen
 Präsentation transkript:

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

Inhalt Motivation Sequentielle vs. parallele Programmierung GPGPU – OpenCL Beispiel – Matrix-Skalar-Multiplikation Optimierung Zusammenfassung GPU - Computing

Motivation GPU - Computing

Beispiel: Matrixmultiplikation

Sequentielle vs. parallele Programmierung Sequentielle Programmierung Quelle: https://computing.llnl.gov/tutorials/parallel_comp/ GPU - Computing

Sequentielle vs. parallele Programmierung Quelle: https://computing.llnl.gov/tutorials/parallel_comp/ GPU - Computing

global and constant memory GPGPU - OpenCL „local memory“ ist um 100x-150x schneller als der „global memory“! Zusätzliche Verwendung der GPU für allgemeine Aufgaben memory local memory privat memory global and constant memory Quelle: CUDA C Programming Guide Quelle: http://de.wikipedia.org/wiki/OpenCL GPU - Computing

Beispiel (Matrix-Skalar-Multiplikation) CPU GPU (OpenCL) 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; } GPU - Computing

Optimierung GPU - Computing

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

Dankeschön! Fragen? GPU - Computing