OPENCL. Praktikum Parallele Rechnerarchitekturen, 2015w Franz Richter-Gottfried
|
|
- Annika Schmid
- vor 7 Jahren
- Abrufe
Transkript
1 OPENCL Praktikum Parallele Rechnerarchitekturen, 2015w Franz Richter-Gottfried
2 INFRASTRUCTURE Overview, Manuals Login, Development, Interactive test $ssh faui36b $srun --pty bash 2
3 OPENCL Open standard (Khronos) Alternative to CUDA on Nvidia GPUs Started by Apple, supported by AMD, Intel, others Under active development Supports CPU, GPU, Xeon Phi, FPGA, Programmer expresses data dependencies explicitly Inherently parallel programming model 3
4 FALLACY OpenCL platform independent But: Portable code portable performance Target aware optimization required! 4
5 OPENCL SDK OpenCL Plattform: Header, Compiler, Host-Library Kernel: Actual program Host-Library: Create/manage Kernels ICD: Installable Client Driver to select platform at runtime of host 5
6 OPENCL PLATFORM MODEL 6
7 LEBENSZYKLUS clcreatecontext() clcreatecommandqueue() clcreateprogramwithsource() or clcreateprogramwithbinary() clbuildprogram() clcreatekernel() clsetkernelarg() clenqueuendrangekernel() clfinish() clreleasekernel() clreleaseprogram() clreleasecommandqueue() clreleasecontext() 7
8 OPENCL MEMORY MODEL OpenCL CUDA Location Global Global VRAM Local Shared GPU Constant Constant VRAM Private Register/Local GPU/VRAM 8
9 OPENCL MEMORY MODEL 9
10 OPENCL EXECUTION MODEL 10
11 COMPILATION 11
12 COMPILER clbuildprogram() Select Devices Compiler optiones (-D..., -w, -cl-opt-disable, ) Possible to compile asynchronously clgetprogrambuildinfo() Check compiler status Get compiler output Useful to fix errors in code 12
13 KERNEL PARAMETERS kernel void foo(int scalar, global float* buffer) { } Scalars by-value clsetkernelarg(kernel, 0, sizeof(int), &example_int); Buffer in Global Memory clsetkernelarg(kernel, 1, sizeof(cl_mem), &example_buffer); No data transfer at that time! 13
14 START KERNEL clenqueuendrangekernel() Configures Dimension (1D,2D,3D) Global-Size Local-Size (optional) Local-Size can be chosen by OpenCL-driver But: often limited performance Non-blocking call! 14
15 DATA TYPES Size of C types platform dependent OpenCL provides types for host: cl_(u)char, cl_(u)short, cl_(u)int, cl_(u)long, cl_float, cl_double Use normal types in OpenCL program Vectors (u)charn, (u)shortn, (u)intn, (u)longn, floatn, doublen, with n 2,3,4,8,16 double in OpenCL 1.1 #pragma OPENCL EXTENSION cl_khr_fp64 : enable in OpenCL program 15
16 TYPICAL CALLS Functions: clcreatebuffer() Allocate buffer on host clenqueuemapbuffer() Access buffer on host clenqueuewritebuffer() Start data transfer clenqueuecopybuffer() Copy buffer clenqueuendrangekernel() Execute clenqueuereadbuffer() Read results clreleasememobject() Release buffer 16
17 COMMAND QUEUE Part of one OpenCL context Queue with jobs for device In-order or out-of-order clflush() sent all jobs to device clfinish() wait for completion clenqueuebarrier() manual memory synchronization Course-grained synchronization (alternative: events) 17
18 BUILT-INS Functions for Kernel to Identify current work item get_work_dim(), get_global_size(), get_global_id(), get_local_id(), Synchronize [read_/write_]mem_fence() barrier() Transfer data async_work_group_copy() prefetch() Compute cross(), dot(), sin(), pow() min(), max(), Atomics atomic_add(), atomic_sub(), 18
19 ADDRESS SPACE Global variables (outside of functions/kernel) constant, must be initialized Arguments private (auto) Pointer to global, local, constant Local variables private (auto) local global: VRAM constant: VRAM, read-only local: shared in work group private: only visible for work item 19
20 LOCAL MEMORY Shared memory for work group In kernel: local float foo[256]; Or: declaration in kernel kernel void foo( local float* var) allocation in host: clsetkernelarg(kernel, 0, 256 * sizeof(cl_float), NULL); 20
21 SYNCHRONIZATION Only between work items of the same work group barrier() mem_fence() read_mem_fence() write_mem_fence() No synchronization between work groups Split kernels, enqueuer separately 21
22 TIME On CPU Synchronize non-blocking functions (with clfinish(), clwaitforevents()) Problem: Multiple command queues On Device OS independent (events) clgeteventprofilinginfo() returns start, end in ns Create command queue with flag CL_QUEUE_PROFILING_ENABLE 22
23 EXERCISE 1: CPU Query all platforms and devices on faui36b Write Hello World -kernel, run on each SMT core Reserve node via Slurm for benchmarks Measure memory bandwidth, data size 1KiB 1GiB (64 samples) for different work group sizes (auto, 2, 4, 8, 16, 32, 64). Compare results to theoretical peak performance 23
24 EXERCISE 2 Implement Jacobi Iteration as OpenCL kernel Benchmark different grid sizes (again 1KiB 1GiB) Try to optimize kernel, e.g. by blocking, vectors, amount of work items, Can you achieve optimal performance using OpenCL? 24
25 GPGPU WITH OPENCL Praktikum Parallele Rechnerarchitekturen, 2015w Franz Richter-Gottfried
26 INFRASTRUCTURE Enqueue interactive job srun --gres <card> --pty bash Graphics cards available for <card> tesla_k20, tesla_c2050 Run OpenCL kernel 26
27 GPGPU Grafikprozessor (GPU) Hoch parallel Programmierbar Grafikspezifische Sonderfunktionen Speicher (VRAM) Optimiert auf Bandbreite Derzeit meist GDDR5 oder DDR3 PCIe Anbindung an CPU Kommunikation, Steuerung, Datentransfer 27
28 EVOLUTION GPGPU (NVIDIA) Former: fixed Pixelpipeline SIMT (Single Instrunction, Multiple Thread) Since Tesla: programmable Streaming Multiprocessors (SMs) SMs execude programs on scalar CUDA Cores 32 Threads work synchronously (Warp) Compute Capability reflects Hardware features 28
29 NVIDIA GENERATIONS ? 29
30 TESLA (CC 1.0, 1.3) Bis zu 30 Streaming-Multiprozessors (SM) 8 Streaming-Processors (SP,Cuda Cores) 30 FP64/Takt 16 Cluster, je 2x8SM 2 SFUs, 1 Warp Scheduler 16KiB Shared Memory (L1/L2 nur für Texturen) 32KiB Register File Constant Cache PCIe Gen 1 GDDR3, 384/512 Bit/Takt SP: 933 GFLOPS, DP: 78 GFLOPS (GT200) 30
31 FERMI (2.0) Bis zu 16 SM 32 SP Cuda Cores 16 Load/Store 4 SFUs 64 KiB Shared Mem/L1 (16/48 oder 48/16) SP unterstützt DP, benötigt kein Dual Issue mehr 32k x 4 Byte Register pro SM PCIe Gen2 768 KiB Unified L2 (D, I, Textur) Bis zu 6GiB GDDR5, 192 GiB/s, Latenz: Zyklen SP: 1.3 TFLOPS, DP: 0,6 TFLOPS 31
32 KEPLER (3.0, 3.5, 3.7) Bis zu 15 SMX 192 SP 4 Warp Scheduler, je 2 Dispatch Units 64k Register Dedizierte FP64 Cores ECC 255 Register/Thread 64 KiB Shared Memory/L1 (16,32,48), 256 B/Takt 48KiB Read-Only Cache 1.5 MiB L2 Cache PCI Gen 3.0 GDDR5 mit 192 GiB/s SP: 4,3 TFLOPS, DP: 1,4 TFLOPS Verwendete Grafikkarte: Geforce 630, 2 GiB DDR3, CC
33 MAXWELL (5.0, 5.2) Bis zu 16 SMM 128 SP 4 Blöcke mit je 32 SP Warp Scheduler, 2 Instr. Scheduler 16k Register 96 KiB Shared Memory Bis zu 2 MiB L2 Cache, für alle SM GDDR5 mit 224 GiB/s SP: 6.6 TFLOPS, DP: 0,2 TFLOPS 33
34 OPTIMIERUNG Geschwindigkeit abhängig von Auslastung Speicherbandbreite Instruktionsdurchsatz Architekturabhängig Für andere Generationen ggf. andere Werte optimal cl_nv_device_attribute_query() liefert u.a. Compute Capability Warp-Größe 34
35 COMPILERFLAGS FP-Optimierungen nutzen -cl-mad-enable -cl-fast-relaxed-math Nvidia-spezifisch: -cl-nv-maxrregcount <N> Begrenzt Registeranzahl pro Thread. Gerundet auf Vielfache von 4 Standard: Unbegrenzt -cl-nv-opt-level <N> Optimierungsgrad 0: keine, Standard: 3 -cl-nv-verbose Informationen über Register-, Speicherverbrauch im Build Log Unterstützt bei Optimierung der Partitionierung 35
36 INSTRUKTIONEN Mehr Work-Items statt Vektoren char, short müssen meist in int konvertiert werden float-konstanten als x.yf angeben, sonst double Divergierende Ausführungspfade innerhalb Warps vermeiden divergierende Warps (local_id/warp_size) Native Hardwarefunktionen (native_sqrt(), native_exp(), ) 36
37 PINNED MEMORY cudahostalloc() Verhindert Auslagerung von Pages auf der Festplatte Zuordnung virtuelle physikalische Adresse konstant Kann DMA-Transfer zwischen RAM und VRAM beschleunigen In OpenCL treiberabhängig, nicht garantiert Empfehlung von Nvidia: clcreatebuffer(, CL_MEM_ALLOC_HOST_PTR, ) clenqueuemapbuffer() 37
38 COALESCING V.a. für GPUs ohne Cache (CC < 2) Optimiert Zugriff auf Global Memory Zugriffe benachbarter Work-Items (innerhalb eines Half-Warps) auf benachbarte Elemente im Speicher kann zu einem Zugriff zusammengefasst werden 38
39 LOCAL MEMORY Entspricht shared memory Speichert Kernelargumente Aufgeteilt in unabhängig adressierbare Bänke 32 Bit pro Bank werden pro Takt übertragen Bankanzahl architekturabhängig Verwendung: Zwischenspeichern von Daten aus Global Memory Umordnen von Daten für coalescen Zugriff 39
40 NDRANGE Anzahl Work-Items abhängig von Maximaler Anzahl Threads pro SM Registeranzahl Hohe Anzahl an Work-Items um ALU-Latenz durch Warp-Wechsel zu verstecken Auslastung bestimmbar mittels Cuda Occupancy Calculator ( tools) Faustregeln Mehr Work Groups als Multiprozessoren (Faktor 2, Faktor 100 für künftige GPUs) Work Group Size vielfaches der Warp-Größe Mindestens 64 Work-Items pro Work Group, besser , falls mehrere Work Groups Meist keine höhere Geschwindigkeit durch Optimierung, wenn Auslastung bereits ~50% Experimentieren 40
41 WERKZEUGE Nvidia Nsight for Visual Studio OpenCL Visual Profiler 41
GPGPU WITH OPENCL. Praktikum Parallele Rechnerarchitekturen, 2015w Franz Richter-Gottfried
GPGPU WITH OPENCL Praktikum Parallele Rechnerarchitekturen, 2015w Franz Richter-Gottfried INFRASTRUCTURE Enqueue interactive job srun --gres --pty bash Graphics cards available for tesla_k20,
MehrCUDA. Moritz Wild, Jan-Hugo Lupp. Seminar Multi-Core Architectures and Programming. Friedrich-Alexander-Universität Erlangen-Nürnberg
CUDA Seminar Multi-Core Architectures and Programming 1 Übersicht Einleitung Architektur Programmierung 2 Einleitung Computations on GPU 2003 Probleme Hohe Kenntnisse der Grafikprogrammierung nötig Unterschiedliche
MehrGPGPU-Architekturen CUDA Programmiermodell Beispielprogramm. Einführung CUDA. Ralf Seidler. Friedrich-Alexander-Universität Erlangen-Nürnberg
Einführung CUDA Friedrich-Alexander-Universität Erlangen-Nürnberg PrakParRA, 18.11.2010 Outline 1 GPGPU-Architekturen 2 CUDA Programmiermodell 3 Beispielprogramm Outlook 1 GPGPU-Architekturen 2 CUDA Programmiermodell
MehrParallele Algorithmen mit OpenCL. Universität Osnabrück, Henning Wenke,
Parallele Algorithmen mit OpenCL Universität Osnabrück, Henning Wenke, 203-04-24 Was bisher geschah Host Device Platform Führt aus Führt aus Device Context Applikation Java, C++, Kernel (OpenCL C) Memory
MehrParallele Algorithmen mit OpenCL. Universität Osnabrück, Henning Wenke, 2013-05-08
Parallele Algorithmen mit OpenCL Universität Osnabrück, Henning Wenke, 2013-05-08 Aufräumen Ressourcen in umgekehrter Abhängigkeitsreihenfolge freigeben Objekte haben Reference-Count (RC), initial 1 clrelease
MehrOpenCL Implementierung von OpenCV Funktionen
Multi-Core Architectures and Programming OpenCL Implementierung von OpenCV Funktionen julian.mueller@e-technik.stud.uni-erlangen.de Hardware/Software Co-Design August 18, 2011 1 Table of content 1 OpenCL
MehrEinführung. GPU-Versuch. Andreas Schäfer Friedrich-Alexander-Universität Erlangen-Nürnberg
GPU-Versuch andreas.schaefer@cs.fau.de Friedrich-Alexander-Universität Erlangen-Nürnberg Praktikum Parallele Rechnerarchitekturen SS2014 Outline 1 Einführung 2 Outlook 1 Einführung 2 Eine kurze Geschichte
MehrOpenCL. OpenCL. Boris Totev, Cornelius Knap
OpenCL OpenCL 1 OpenCL Gliederung Entstehungsgeschichte von OpenCL Was, warum und überhaupt wieso OpenCL CUDA, OpenGL und OpenCL GPUs OpenCL Objekte Work-Units OpenCL Adressbereiche OpenCL API Codebeispiel
MehrMasterpraktikum Scientific Computing
Masterpraktikum Scientific Computing High-Performance Computing Thomas Auckenthaler Wolfgang Eckhardt Technische Universität München, Germany Outline Entwicklung General Purpose GPU Programming (GPGPU)
MehrGPGPU-Programmierung
12 GPGPU-Programmierung 2013/04/25 Diese Folien enthalten Graphiken mit Nutzungseinschränkungen. Das Kopieren der Graphiken ist im Allgemeinen nicht erlaubt. Motivation (1) General Purpose Computing on
MehrOpenCL. Multi-Core Architectures and Programming (Seminar) Apelt, Nicolas / Zöllner, Christian
OpenCL Multi-Core Architectures and Programming (Seminar) Apelt, Nicolas / Zöllner, Christian Hardware-Software-Co-Design Universität Erlangen-Nürnberg Apelt, Nicolas / Zöllner, Christian 1 Was ist OpenCL?
MehrProseminar. GPU-Computing Cuda vs. OpenCL. SS 2013 Alexander Stepanov
Proseminar GPU-Computing Cuda vs. OpenCL SS 2013 Alexander Stepanov Inhaltsverzeichnis 1. Einführung: Warum GPU Computing? CPU vs. GPU GPU Architektur 2. CUDA Architektur Beispiel Matrix Multiplikation
MehrIntel Xeon Phi. Praktikum Parallele Rechnerarchitekturen May 13,
Intel Xeon Phi Praktikum Parallele Rechnerarchtitekturen Praktikum Parallele Rechnerarchitekturen May 13, 2014 1 Overview Aufbau & Programmierung State-of-the-Art Manycore Chip HPC Tools Performance-Modellierung
MehrGPGPU-Programmierung
12 GPGPU-Programmierung 2014/04/29 Diese Folien enthalten Graphiken mit Nutzungseinschränkungen. Das Kopieren der Graphiken ist im Allgemeinen nicht erlaubt. Motivation (1) General Purpose Computing on
MehrGrafikkarten-Architektur
> Grafikkarten-Architektur Parallele Strukturen in der GPU Name: Sebastian Albers E-Mail: s.albers@wwu.de 2 > Inhalt > CPU und GPU im Vergleich > Rendering-Pipeline > Shader > GPGPU > Nvidia Tesla-Architektur
MehrCUDA. Axel Jena, Jürgen Pröll. Multi-Core Architectures and Programming. Friedrich-Alexander-Universität Erlangen-Nürnberg Axel Jena, Jürgen Pröll 1
CUDA Axel Jena, Jürgen Pröll Multi-Core Architectures and Programming Axel Jena, Jürgen Pröll 1 Warum Tesla? Traditionelle Graphikkarten Getrennte Prozessoren für Vertex- / Pixelberechnungen - Nachteil:
MehrMasterpraktikum Scientific Computing
Masterpraktikum Scientific Computing High-Performance Computing Thomas Auckenthaler Wolfgang Eckhardt Prof. Dr. Michael Bader Technische Universität München, Germany Outline Organisatorisches Entwicklung
MehrEine kurze Geschichte der Grafikkarten
3.1 Einführung Eine kurze Geschichte der Grafikkarten ursprünglich: Graphics Card steuert Monitor an Mitte 80er: Grafikkarten mit 2D-Beschleunigung angelehnt an Arcade- und Home-Computer frühe 90er: erste
MehrPraxiseinheit: Realisierung einer hardwarebeschleunigten Disparitätenberechnung zur automatischen Auswertung von Stereobildern
Praxiseinheit: Realisierung einer hardwarebeschleunigten Disparitätenberechnung zur automatischen Auswertung von Stereobildern Institut für Betriebssysteme und Rechnerverbund TU Braunschweig 25.10., 26.10.
MehrGPU-Programmierung: OpenCL
Seminar: Multicore Programmierung Sommerstemester 2009 04.06.2009 Inhaltsverzeichnis 1 GPU-Programmierung von Grafikkarten von GPU-Computing 2 Architektur Spracheigenschaften Vergleich mit CUDA Beispiel
MehrOpenCL. Programmiersprachen im Multicore-Zeitalter. Tim Wiersdörfer
OpenCL Programmiersprachen im Multicore-Zeitalter Tim Wiersdörfer Inhaltsverzeichnis 1. Was ist OpenCL 2. Entwicklung von OpenCL 3. OpenCL Modelle 1. Plattform-Modell 2. Ausführungs-Modell 3. Speicher-Modell
MehrGPGPU-Programming. Constantin Timm Informatik 12 TU Dortmund 2012/04/09. technische universität dortmund. fakultät für informatik informatik 12
12 GPGPU-Programming Constantin Timm Informatik 12 TU Dortmund 2012/04/09 Diese Folien enthalten Graphiken mit Nutzungseinschränkungen. Das Kopieren der Graphiken ist im Allgemeinen nicht erlaubt. Motivation
MehrJava Tools JDK. IDEs. Downloads. Eclipse. IntelliJ. NetBeans. Java SE 8 Java SE 8 Documentation
Java Tools JDK http://www.oracle.com/technetwork/java/javase/ Downloads IDEs Java SE 8 Java SE 8 Documentation Eclipse http://www.eclipse.org IntelliJ http://www.jetbrains.com/idea/ NetBeans https://netbeans.org/
MehrMulticore-Architekturen
Universität Erlangen- Nürnberg Technische Universität München Universität Stuttgart Multicore-Architekturen Vortrag im Rahmen der Ferienakademie 2009 Kurs 1: Programmierkonzepte für Multi-Core Rechner
MehrPhysikalische Berechnungen mit General Purpose Graphics Processing Units (GPGPUs)
Fakultätsname XYZ Fachrichtung XYZ Institutsname XYZ, Professur XYZ Physikalische Berechnungen mit General Purpose Graphics Processing Units (GPGPUs) im Rahmen des Proseminars Technische Informatik Juni
MehrGeneral Purpose Computation on GPUs
General Purpose Computation on GPUs Matthias Schneider, Robert Grimm Universität Erlangen-Nürnberg {matthias.schneider, robert.grimm}@informatik.stud.uni-erlangen.de M. Schneider, R. Grimm 1 Übersicht
MehrCompute Unified Device Architecture CUDA
Compute Unified Device Architecture 06. Februar 2012 1 / 13 Gliederung 2 / 13 : Compute Unified Device Architecture entwickelt von Nvidia Corporation spezifiziert Software- und Hardwareeigenschaften Ziel:
MehrGridMate The Grid Matlab Extension
GridMate The Grid Matlab Extension Forschungszentrum Karlsruhe, Institute for Data Processing and Electronics T. Jejkal, R. Stotzka, M. Sutter, H. Gemmeke 1 What is the Motivation? Graphical development
MehrParallele Algorithmen mit OpenCL. Universität Osnabrück, Henning Wenke,
Parallele Algorithmen mit OpenCL Universität Osnabrück, Henning Wenke, 2013-04-17 Kapitel I OpenCL Einführung Allgemeines Open Compute Language: API für einheitliche parallele Programmierung heterogener
MehrGPGPU mit NVIDIA CUDA
01.07.12 GPGPU mit NVIDIA CUDA General-Purpose on Formatvorlagecomputing des Graphics Processing durch Units Untertitelmasters mit KlickenCompute bearbeiten NVIDIA Unified Device Architecture Gliederung
MehrParalleler Cuckoo-Filter. Seminar: Implementierungstechniken für Hauptspeicherdatenbanksysteme Jeremias Neth München, 21.
Paralleler Cuckoo-Filter Seminar: Implementierungstechniken für Hauptspeicherdatenbanksysteme Jeremias Neth München, 21. November 2017 1 Paralleler Cuckoo-Filter Cuckoo-Hashtabelle Serieller Cuckoo-Filter
MehrParallel Computing in der industriellen Bildverarbeitung
SOLUTIONS FOR MACHINE VISION Parallel Computing in der industriellen Bildverarbeitung Dipl.-Inform. Alexander Piaseczki Research and Development Sirius Advanced Cybernetics GmbH Tools & Solutions für die
MehrComputergrafik Universität Osnabrück, Henning Wenke,
Computergrafik Universität Osnabrück, Henning Wenke, 2012-06-25 Kapitel XV: Parallele Algorithmen mit OpenCL 15.1 Parallele Programmierung Quellen: V.a. Wikipedia. Leistungsdaten unter Vorbehalt. Bitte
MehrGPGPU-Architekturen CUDA Programmiermodell Beispielprogramm Organiosatorisches. Tutorial CUDA. Ralf Seidler
Friedrich-Alexander-Universität Erlangen-Nürnberg 05.10.2010 Outline 1 GPGPU-Architekturen 2 CUDA Programmiermodell 3 Beispielprogramm 4 Organiosatorisches Outlook 1 GPGPU-Architekturen 2 CUDA Programmiermodell
MehrSeminar Multicore-Programmierung
Multicore- und GPGPU-Architekturen Fakultät für Informatik und Mathematik Universität Passau 04. November 2010 APUs / 1 / 39 Inhaltsverzeichnis I APUs / APUs / 2 / 39 Inhaltsverzeichnis II APUs / 3 / 39
MehrData Structures. Christian Schumacher, Info1 D-MAVT Linked Lists Queues Stacks Exercise
Data Structures Christian Schumacher, chschuma@inf.ethz.ch Info1 D-MAVT 2013 Linked Lists Queues Stacks Exercise Slides: http://graphics.ethz.ch/~chschuma/info1_13/ Motivation Want to represent lists of
MehrRST-Labor WS06/07 GPGPU. General Purpose Computation On Graphics Processing Units. (Grafikkarten-Programmierung) Von: Marc Blunck
RST-Labor WS06/07 GPGPU General Purpose Computation On Graphics Processing Units (Grafikkarten-Programmierung) Von: Marc Blunck Ablauf Einführung GPGPU Die GPU GPU Architektur Die Programmierung Programme
MehrParallele Algorithmen mit OpenCL. Universität Osnabrück, Henning Wenke,
Parallele Algorithmen mit OpenCL Universität Osnabrück, Henning Wenke, 2013-05-29 Kapitel Parallelität [1]: Parallel Programming (Rauber, Rünger, 2007) [2]: Algorithms Sequential & Parallel A Unified Approach
MehrIntroduction Workshop 11th 12th November 2013
Introduction Workshop 11th 12th November 2013 Lecture I: Hardware and Applications Dr. Andreas Wolf Gruppenleiter Hochleistungsrechnen Hochschulrechenzentrum Overview Current and next System Hardware Sections
MehrOutline. Cell Broadband Engine. Application Areas. The Cell
Outline 21.March 2006 Benjamin Keck Why Cell?!? Application Areas Architectural Overview Programming Model Programming on the PPE C/C++ Intrinsics 1 2 The Cell Supercomputer on a chip Multi-Core Microprocessor
Mehrauf differentiellen Leitungen
Eingebettete Taktübertragung auf differentiellen Leitungen Johannes Reichart Kleinheubacher Tagung Miltenberg, 28.09.2009 Institut für Prof. Elektrische Dr.-Ing. und Optische Manfred Nachrichtentechnik
MehrCell Broadband Engine
Cell Broadband Engine 21.March 2006 Benjamin Keck Outline Why Cell?!? Application Areas Architectural Overview SPU Programming Model Programming on the PPE C/C++ Intrinsics The Cell Supercomputer on a
MehrHeterogeneous Computing
Heterogeneous Computing with OpenCL Advanced GPU Course, 05.05.2014 Wolfram Schenck SimLab Neuroscience, JSC Overview of the Lecture 1 OpenCL Basics 2 Multi Device: Data Partitioning 3 Multi Device: Load
MehrPGI Accelerator Model
PGI Accelerator Model Philip Höhlein, Nils Werner Supervision: R. Membarth, P. Kutzer, F. Hannig Hardware-Software-Co-Design Universität Erlangen-Nürnberg Philip Höhlein, Nils Werner 1 Übersicht Motivation
MehrNeue Dual-CPU Server mit Intel Xeon Scalable Performance (Codename Purley/Skylake-SP)
Neue Dual-CPU Server mit Intel Xeon Scalable Performance (Codename Purley/Skylake-SP) @wefinet Werner Fischer, Thomas-Krenn.AG Webinar, 17. Oktober 2017 Intel Xeon Scalable Performance _ Das ist NEU: Neue
MehrGliederung. Was ist CUDA? CPU GPU/GPGPU CUDA Anwendungsbereiche Wirtschaftlichkeit Beispielvideo
Gliederung Was ist CUDA? CPU GPU/GPGPU CUDA Anwendungsbereiche Wirtschaftlichkeit Beispielvideo Was ist CUDA? Nvidia CUDA ist eine von NvidiaGPGPU-Technologie, die es Programmierern erlaubt, Programmteile
MehrFerienakademie Erik Muttersbach
Ferienakademie 2009 - Erik Muttersbach 1. Einführung 2. Kernels, Threads, Blocks 3. CUDA Execution Model 4. Software Stack 5. Die CUDA Runtime API 6. Speichertypen/ Zugriff 7. Profiling und Optimierung
MehrIDS Lizenzierung für IDS und HDR. Primärserver IDS Lizenz HDR Lizenz
IDS Lizenzierung für IDS und HDR Primärserver IDS Lizenz HDR Lizenz Workgroup V7.3x oder V9.x Required Not Available Primärserver Express V10.0 Workgroup V10.0 Enterprise V7.3x, V9.x or V10.0 IDS Lizenz
MehrInteraktive Globale Beleuchtung nach dem Antiradiance-Verfahren mittels der Open Computing Language (OpenCL)
Interaktive Globale Beleuchtung nach dem Antiradiance-Verfahren mittels der Open Computing Language (OpenCL) Verteidigung der Belegarbeit Andreas Stahl Zielstellung Globales Beleuchtungsverfahren für die
MehrInformatik für Mathematiker und Physiker Woche 7. David Sommer
Informatik für Mathematiker und Physiker Woche 7 David Sommer David Sommer 30. Oktober 2018 1 Heute: 1. Repetition Floats 2. References 3. Vectors 4. Characters David Sommer 30. Oktober 2018 2 Übungen
MehrCilk Sprache für Parallelprogrammierung. IPD Snelting, Lehrstuhl für Programmierparadigmen
Cilk Sprache für Parallelprogrammierung IPD Snelting, Lehrstuhl für Programmierparadigmen David Soria Parra Geschichte Geschichte Entwickelt 1994 am MIT Laboratory for Computer Science Cilk 1: Continuations
MehrTSM 5.2 Experiences Lothar Wollschläger Zentralinstitut für Angewandte Mathematik Forschungszentrum Jülich
TSM 5.2 Experiences Lothar Wollschläger Zentralinstitut für Angewandte Mathematik Forschungszentrum Jülich L.Wollschlaeger@fz-juelich.de Contents TSM Test Configuration Supercomputer Data Management TSM-HSM
MehrBeispielvortrag: HPCG auf Intel Haswell-EP
Beispielvortrag: HPCG auf Intel Haswell-EP Johannes Hofmann 1 Seminarvortrag Architekturen von Multi- und Vielkern-Prozessoren Erlangen, 19.4.2016 1 Computer Architecture, University Erlangen-Nuremberg
MehrGPGPU Basiskonzepte. von Marc Kirchhoff GPGPU Basiskonzepte 1
GPGPU Basiskonzepte von Marc Kirchhoff 29.05.2006 GPGPU Basiskonzepte 1 Inhalt Warum GPGPU Streams, Kernels und Prozessoren Datenstrukturen Algorithmen 29.05.2006 GPGPU Basiskonzepte 2 Warum GPGPU? Performance
MehrWeather forecast in Accra
Weather forecast in Accra Thursday Friday Saturday Sunday 30 C 31 C 29 C 28 C f = 9 5 c + 32 Temperature in Fahrenheit Temperature in Celsius 2 Converting Celsius to Fahrenheit f = 9 5 c + 32 tempc = 21
MehrSystemaufbau Blockdiagramm / System structure
Systemaufbau Blockdiagramm / System structure... 1 Leuchtenanschluß / Connection of Luminaire... 2 Unterstützte DALI Kommandos / Supported DALI commands... 2 Fehlerverhalten / Failure behavior... 5 Standards
MehrInformatik - Übungsstunde
Informatik - Übungsstunde Jonas Lauener (jlauener@student.ethz.ch) ETH Zürich Woche 08-25.04.2018 Lernziele const: Reference const: Pointer vector: iterator using Jonas Lauener (ETH Zürich) Informatik
Mehr> High-Level Programmierung heterogener paralleler Systeme
> High-Level Programmierung heterogener paralleler Systeme Projektseminar im SoSe 2012 Prof. Sergei Gorlatch, Michel Steuwer, Tim Humernbrum AG Parallele und Verteilte Systeme, Westfälische Wilhelms-Universität
MehrGrundlagen von CUDA, Sprachtypische Elemente
Grundlagen von CUDA, Sprachtypische Elemente Stefan Maskanitz 03.07.2009 CUDA Grundlagen 1 Übersicht 1. Einleitung 2. Spracheigenschaften a. s, Blocks und Grids b. Speicherorganistion c. Fehlerbehandlung
MehrProgrammierbeispiele und Implementierung. Name: Michel Steuwer E-Mail: michel.steuwer@wwu.de
> Programmierbeispiele und Implementierung Name: Michel Steuwer E-Mail: michel.steuwer@wwu.de 2 > Übersicht > Matrix Vektor Multiplikation > Mandelbrotmenge / Apfelmännchen berechnen > Kantendetektion
MehrSoftware Engineering für moderne parallele Plattformen 9. GPGPUs: Grafikkarten als Parallelrechner
Software Engineering für moderne parallele Plattformen 9. GPGPUs: Grafikkarten als Parallelrechner Dipl.-Inform. Korbinian Molitorisz M. Sc. Luis Manuel Carril Rodriguez KIT Universität des Landes Baden-Württemberg
MehrNeues vom STRIP Forth-Prozessor
Neues vom STRIP Forth-Prozessor Tagung der Forth-Gesellschaft März 2014 Bad Vöslau/Österreich Willi Stricker -Prozessor Inhalt 1. STRIP-Befehlssatz Bisher: minimaler Befehlssatz neu: erweiterter Befehlssatz
MehrMASTERARBEIT. Titel der Masterarbeit. Optimierung von Life Sciences Algorithmen für GPUs mit CUDA/OpenCL. Verfasser.
MASTERARBEIT Titel der Masterarbeit Optimierung von Life Sciences Algorithmen für GPUs mit CUDA/OpenCL Verfasser David Dilch, BSc angestrebter akademischer Grad Diplom-Ingenieur (Dipl.-Ing.) Wien, 2013
MehrRheinisch-Westfälische Technische Hochschule Aachen. Seminararbeit
Rheinisch-Westfälische Technische Hochschule Aachen Seminararbeit Analyse von General Purpose Computation on Graphics Processing Units Bibliotheken in Bezug auf GPU-Hersteller. Gregori Kerber Matrikelnummer
MehrH o c h s c h u l e D e g g e n d o r f H o c h s c h u l e f ü r a n g e w a n d t e W i s s e n s c h a f t e n
Time Aware Shaper Christian Boiger christian.boiger@hdu-deggendorf.de IEEE 802 Plenary September 2012 Santa Cruz, California D E G G E N D O R F U N I V E R S I T Y O F A P P L I E D S C I E N C E S Time
MehrAccelerating Information Technology Innovation
Accelerating Information Technology Innovation http://aiti.mit.edu Ghana Summer 2011 Lecture 05 Functions Weather forecast in Accra Thursday Friday Saturday Sunday 30 C 31 C 29 C 28 C f = 9 5 c + 32 Temperature
MehrFPGA Beschleuniger. Your Name. Armin Jeyrani Mamegani Your Organization (Line #2)
FPGA Beschleuniger 15.12.2008 Armin Jeyrani Mamegani Your Name HAW Hamburg Your Title Department Your Organization Informatik (Line #1) Your Organization (Line #2) Einleitung Wiederholung aus AW1: Handy
MehrWalter Buchmayr Ges.m.b.H.
Seite 1/10 Chapter Description Page 1 Advantages 3 2 Performance description 4 3 Settings 5 4 Options 6 5 Technical data 7 6 Pictures 8 http://members.aon.at/buchmayrgmbh e-mail: walter.buchmayr.gmbh@aon.at
MehrÜbung 3: VHDL Darstellungen (Blockdiagramme)
Übung 3: VHDL Darstellungen (Blockdiagramme) Aufgabe 1 Multiplexer in VHDL. (a) Analysieren Sie den VHDL Code und zeichnen Sie den entsprechenden Schaltplan (mit Multiplexer). (b) Beschreiben Sie zwei
MehrRaytracing in GA mittels OpenACC. Michael Burger, M.Sc. FG Scientific Computing TU Darmstadt
Raytracing in GA mittels OpenACC Michael Burger, M.Sc. FG Scientific Computing TU Darmstadt michael.burger@sc.tu-darmstadt.de 05.11.12 FB Computer Science Scientific Computing Michael Burger 1 / 33 Agenda
MehrYilmaz, Tolga MatNr: Mesaud, Elias MatNr:
Yilmaz, Tolga MatNr: 157317 Mesaud, Elias MatNr: 151386 1. Aufbau und Funktionsweise einer Grafikkarte 2. CPU vs. GPU 3. Software 4. Beispielprogramme Kompilierung und Vorführung 5. Wo wird Cuda heutzutage
MehrErste Erfahrungen mit Installation und Betrieb
Erste Erfahrungen mit Installation und Betrieb von OpenHPC 14.10.2016 Holger Angenent Röntgenstr. 7-13, 48149 Münster 2 > Problemstellung Jeder neue Cluster kam bisher mit neuem Clustermanagement Einarbeitungszeit
MehrGPU-Computing. Michael Vetter
GPU-Computing Universität Hamburg Scientific Visualization and Parallel Processing @ Informatik Climate Visualization Laboratory @ Clisap/CEN Übersicht Hintergrund und Entwicklung von GPGPU Programmierumgebungen
MehrUse of the LPM (Load Program Memory)
Use of the LPM (Load Program Memory) Use of the LPM (Load Program Memory) Instruction with the AVR Assembler Load Constants from Program Memory Use of Lookup Tables The LPM instruction is included in the
MehrRechnerarchitektur (RA)
12 Rechnerarchitektur (RA) Sommersemester 2016 Architecture-Aware Optimizations - Hardware-Software co-optimizations- Jian-Jia Chen Informatik 12 Jian-jia.chen@tu-.. http://ls12-www.cs.tu-.de/daes/ Tel.:
MehrVGM. VGM information. HAMBURG SÜD VGM WEB PORTAL - USER GUIDE June 2016
Overview The Hamburg Süd VGM-Portal is an application which enables to submit VGM information directly to Hamburg Süd via our e-portal web page. You can choose to insert VGM information directly, or download
MehrCUDA. Jürgen Pröll. Multi-Core Architectures and Programming. Friedrich-Alexander-Universität Erlangen-Nürnberg Jürgen Pröll 1
CUDA Jürgen Pröll Multi-Core Architectures and Programming Jürgen Pröll 1 Image-Resize: sequentiell resize() mit bilinearer Interpolation leicht zu parallelisieren, da einzelne Punkte voneinander unabhängig
MehrGPU Architektur CUDA - OpenCL
GPU Architektur und Programmiermöglichkeiten für GPGPU-Anwendungen kernel void matsq( global const float *mat, global float *out ) { int dim = get_global_size(0); //Matrix dimension int i = get_global_id(0);
MehrMATLAB driver for Spectrum boards
MATLAB driver for Spectrum boards User Manual deutsch/english SPECTRUM SYSTEMENTWICKLUNG MICROELECTRONIC GMBH AHRENSFELDER WEG 13-17 22927 GROSSHANSDORF GERMANY TEL.: +49 (0)4102-6956-0 FAX: +49 (0)4102-6956-66
MehrONLINE LICENCE GENERATOR
Index Introduction... 2 Change language of the User Interface... 3 Menubar... 4 Sold Software... 5 Explanations of the choices:... 5 Call of a licence:... 7 Last query step... 9 Call multiple licenses:...
MehrImplementierung eines GPU-beschleunigten Kalman-Filters mittels OpenCL
Implementierung eines GPU-beschleunigten Kalman-Filters Track Fitting für das ATLAS-Experiment am CERN Masterarbeit vorgelegt von: Maik Dankel, B.Sc. Matrikelnummer: 58 28 28 Erstgutachter: Zweitgutachter:
MehrProgrammierung von Graphikkarten
Programmierung von Graphikkarten Stefan Lang Interdisziplinäres Zentrum für Wissenschaftliches Rechnen Universität Heidelberg INF 368, Raum 532 D-69120 Heidelberg phone: 06221/54-8264 email: Stefan.Lang@iwr.uni-heidelberg.de
MehrLEISTUNGSVERGLEICH VON FPGA, GPU UND CPU FÜR ALGORITHMEN ZUR BILDBEARBEITUNG PROSEMINAR INF-B-610
LEISTUNGSVERGLEICH VON FPGA, GPU UND CPU FÜR ALGORITHMEN ZUR BILDBEARBEITUNG PROSEMINAR INF-B-610 Dominik Weinrich dominik.weinrich@tu-dresden.de Dresden, 30.11.2017 Gliederung Motivation Aufbau und Hardware
MehrRessourcenmanagement in Netzwerken SS06 Vorl. 12,
Ressourcenmanagement in Netzwerken SS06 Vorl. 12, 30.6.06 Friedhelm Meyer auf der Heide Name hinzufügen 1 Prüfungstermine Dienstag, 18.7. Montag, 21. 8. und Freitag, 22.9. Bitte melden sie sich bis zum
MehrGPUs. Arbeitsbereich Wissenschaftliches Rechnen Fachbereich Informatik Fakultät für Mathematik, Informatik und Naturwissenschaften Universität Hamburg
GPUs Arbeitsbereich Wissenschaftliches Rechnen Fachbereich Informatik Fakultät für Mathematik, Informatik und Naturwissenschaften Universität Hamburg Vorgelegt von: Johannes Coym E-Mail-Adresse: 4coym@informatik.uni-hamburg.de
MehrMemory Models. 17. September 2012
Memory Models 17. September 2012 Here Be Dragons In addition, programming idioms used by some programmers and used within Sun s Java Development Kit is not guaranteed to be valid according the existing
MehrWas ist Reference Counting Implementierung. Ende. Reference Counting. Kevin Köster. Uni Hamburg. 31. März Kevin Köster Reference Counting 1/58
Reference Counting Kevin Köster Uni Hamburg 31. März 2013 Kevin Köster Reference Counting 1/58 Kevin Köster Reference Counting 2/58 Beschreibung Dateisystem Praxis Frage Wann wissen wir, ob ein Objekt
MehrArchitektur und Programmierung von Grafik- und Koprozessoren
Architektur und Programmierung von Grafik- und Koprozessoren General Purpose Programmierung auf Grafikprozessoren Stefan Zellmann Lehrstuhl für Informatik, Universität zu Köln SS2018 Host Interface Ausführungszeit
MehrMulti- und Many-Core
Multi- und Many-Core Benjamin Warnke Arbeitsbereich Wissenschaftliches Rechnen Fachbereich Informatik Fakultät für Mathematik, Informatik und Naturwissenschaften Universität Hamburg 2016-12-15 Benjamin
MehrHigh-level software transformations
12 Peter Marwedel TU Dortmund Informatik 12 Germany Graphics: Alexandra Nolte, Gesine Marwedel, 2003 High-level software transformations Impact of memory allocation on efficiency Array p[j][k] Row major
Mehr2.6 Graphikprozessoren
12 2.6 Graphikprozessoren Peter Marwedel Informatik 12 TU Dortmund 2012/04/16 Diese Folien enthalten Graphiken mit Nutzungseinschränkungen. Das Kopieren der Graphiken ist im Allgemeinen nicht erlaubt.
MehrComputergrundlagen Moderne Rechnerarchitekturen
Computergrundlagen Moderne Rechnerarchitekturen Axel Arnold Institut für Computerphysik Universität Stuttgart Wintersemester 2010/11 Aufbau eines modernen Computers DDR3- Speicher Prozessor Prozessor PEG
MehrVolumenrendering mit CUDA
Volumenrendering mit CUDA Arbeitsgruppe Visualisierung und Computergrafik http://viscg.uni-muenster.de Überblick Volumenrendering allgemein Raycasting-Algorithmus Volumen-Raycasting mit CUDA Optimierung
MehrDie Sandy-Bridge Architektur
Fakultät Informatik - Institut für Technische Informatik - Professur für VLSI-Entwurfssysteme, Diagnostik und Architektur Die Sandy-Bridge Architektur René Arnold Dresden, 12. Juli 2011 0. Gliederung 1.
Mehrp^db=`oj===pìééçêíáåñçêã~íáçå=
p^db=`oj===pìééçêíáåñçêã~íáçå= Error: "Could not connect to the SQL Server Instance" or "Failed to open a connection to the database." When you attempt to launch ACT! by Sage or ACT by Sage Premium for
MehrUniversität Karlsruhe (TH)
Universität Karlsruhe (TH) Forschungsuniversität gegründet 1825 Parallelism in curricula An international survey November 7, 2008 Stuttgart, Germany David Meder Dr. Victor Pankratius For comments: multicore-systems@ipd.uni-karlsruhe.de
MehrVGM. VGM information. HAMBURG SÜD VGM WEB PORTAL USER GUIDE June 2016
Overview The Hamburg Süd VGM Web portal is an application that enables you to submit VGM information directly to Hamburg Süd via our e-portal Web page. You can choose to enter VGM information directly,
Mehr