Enblend - Portierung auf die GPU

Größe: px
Ab Seite anzeigen:

Download "Enblend - Portierung auf die GPU"

Transkript

1 Multi-Core Architectures and Programming Enblend - Portierung auf die GPU Hardware/Software Co-Design September 25,

2 Inhalt 1 Motivation 2 Enblend-Algorithmus 3 Beschleunigung mittels Cuda 4 Benchmark 5 Ausblick 2

3 Motivation 3

4 Programmablauf Transition Line Gaussian Pyramid Laplacian Pyramid Blending Collapsing 4

5 Transition Line Finden einer Übergangslinie zwischen zwei Einzelbildern, die * im Schnittbereich der Bilder liegt * möglichst weit entfernt von den Kanten dieses Bereichs ist Verwendeter Algorithmus basiert auf Nearest Feature Transform Verschiedene weitere Optimierungsstrategien werden angewendet Dient als Vorlage für Blending-Mask, welche * in Bereichen hoher Frequenzen einen harten Übergang besitzt * in Bereichen tiefer Frequenzen einen weichen Übergang besitzt 5

6 Transition Line - Beispiel 6

7 Gaussian Pyramid Anwendung auf beide Teilbilder und die zuvor generierte Blending-Mask N Stufen der Pyramide werden durch Unterabtastung der vorherigen Stufe erzeugt zusätzliche Tiefpassfilterung der Bilder Verwendung der einzelnen Stufen im nächsten Schritt g 0 = IMAGE g L = REDUCE [g L 1], mit 0 < L < N 7

8 Gaussian Pyramid - Beispiel 8

9 Laplacian Pyramid Laplacepyramidenebenen werden über die Bildung der Differenz von zwei benachbarten Gaußpyramidenebenen erzielt Hochskalierung und Interpolation der jeweils niedrigeren Stufe vor der Differenzbildung Oberste Pyramidenebene enthält nur höchsten Frequenzen im Bild, alle weiteren Stufen jeweils geringere Frequenzbänder Letzte Stufe enthält unterste Gaußpyramidenstufe L L = g L EXPAND[g L + 1], mit 0 L < N 9

10 Laplacian Pyramid - Beispiel 10

11 Blending Zusammenführen der Einzelbilder anhand der Blending-Mask Anwendung einzeln auf jede Stufe der Laplacepyramide Maske gibt Gewichtung der Einzelbilder für jedes Pixel vor B L = (1 M L ) L L,image1 + M L L L,image2 11

12 Blending - Beispiel 12

13 Collapsing Zusammenfügung der Frequenzbänder zum Endergebniss Hochskalieren und Interpolation der jeweils niedrigeren Stufe und Addition zur aktuellen Stufe C L = B L + EXPAND[B L+1 ] 13

14 Collapsing - Beispiel 14

15 Umsetzung mit Cuda Gaussian Pyramid Laplacian Pyramid Blending Collapsing 15

16 Gaussian, Laplacian Pyramid - Cuda vom Original-Projekt verwendeter Algorithmus ist optimiert auf sequentielle Ausführung, jedes Pixel wird nur ein mal gelesen bzw. beschrieben für Grafikkarte nicht geeignet Berechnung der Zielpixel parallel Anwendung einer Filtermaske zur Tiefpassfilterung / Interpolation Interpolationsfiltermatrix Tiefpassfiltermatrix 16

17 Blending, Collapsing - Cuda Auch hier Original-Algorithmus für sequentielle Abarbeitung optimiert Laden der Einzelbilder und Maske in Texturen, parallele Berechnung des Ergebnisbildes global void blending(float4 *dst, int w, int h) { const int ix = blockdim.x * blockidx.x + threadidx.x; const int iy = blockdim.y * blockidx.y + threadidx.y; if(ix<w && iy<h) { float4 image1 = tex1dfetch(tex_image, ix + iy * w); float4 image2 = tex1dfetch(tex_image2, ix + iy * w); float4 mask = tex1dfetch(tex_image3, ix + iy * w); } } dst[w * iy + ix].x = mask.x/255.0 * image2.x + ( mask.x)/255.0 * image1.x; dst[w * iy + ix].y = mask.y/255.0 * image2.y + ( mask.y)/255.0 * image1.y; dst[w * iy + ix].z = mask.z/255.0 * image2.z + ( mask.z)/255.0 * image1.z; 17

18 Benchmark 18

19 Transition Line - parallel In [1] paralleler Nearest Feature Transform Algorithmus vorgeschlagen Voraussichtlich höherer Speedup möglich 19

20 Quellen [1] Marina L. Gavrilova and Muhammad H. Alsuwaiyel. Two Algorithms for Computing the Euclidean Distance Transform. [2] ( ) [3] P. Burt and E. Adelson. The Laplacian Pyramid as a Compact Image Code. 20

CUDA. Moritz Wild, Jan-Hugo Lupp. Seminar Multi-Core Architectures and Programming. Friedrich-Alexander-Universität Erlangen-Nürnberg

CUDA. 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

Mehr

Parallelisierung auf CUDA

Parallelisierung auf CUDA Parallelisierung auf CUDA Seminar Multi-Core Architectures and Programming 1 Übersicht RSA-Faktorisierung Image Flooding 2 RSA-Faktorisierung Erster Ansatz Implementierung des Pollard-Rho Algorithmus (sequentiell)

Mehr

Programmierbeispiele und Implementierung. Name: Michel Steuwer E-Mail: michel.steuwer@wwu.de

Programmierbeispiele 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

Mehr

Digital Image Interpolation with CUDA

Digital Image Interpolation with CUDA Digital Image Interpolation with CUDA Matthias Schwarz & Martin Rustler Hardware-Software-Co-Design Universität Erlangen-Nürnberg matthias.schwarz@e-technik.stud.uni-erlangen.de martin.rustler@e-technik.stud.uni-erlangen.de

Mehr

Multi-Core Architectures and Programming. Bilateral Grid Filter

Multi-Core Architectures and Programming. Bilateral Grid Filter Multi-Core Architectures and Programming Bilateral Grid Filter - Parallelisierung mit CUDA - C. Kugler und E. Sert Inhalt Motivation Bilateral Filter (Exkurs) Bilateral Grid Filter Portierung auf Grafikkarte

Mehr

GPGPU-Programmierung

GPGPU-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

Mehr

Bildrekonstruktion & Multiresolution

Bildrekonstruktion & Multiresolution Bildrekonstruktion & Multiresolution Verkleinern von Bildern? Was ist zu beachten? Es kann aliasing auftreten! Das Abtasttheorem sagt wie man es vermeidet? ===> Page 1 Verkleinern von Bildern (2) Vor dem

Mehr

Objekterkennung mit künstlichen neuronalen Netzen

Objekterkennung mit künstlichen neuronalen Netzen Objekterkennung mit künstlichen neuronalen Netzen Frank Hallas und Alexander Butiu Universität Erlangen Nürnberg, Lehrstuhl für Hardware/Software CoDesign Multicorearchitectures and Programming Seminar,

Mehr

GPGPU-Programmierung

GPGPU-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

Mehr

Volumenrendering mit CUDA

Volumenrendering mit CUDA Volumenrendering mit CUDA Arbeitsgruppe Visualisierung und Computergrafik http://viscg.uni-muenster.de Überblick Volumenrendering allgemein Raycasting-Algorithmus Volumen-Raycasting mit CUDA Optimierung

Mehr

Yilmaz, Tolga MatNr: Mesaud, Elias MatNr:

Yilmaz, 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

Mehr

Grundlagen von CUDA, Sprachtypische Elemente

Grundlagen 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

Mehr

CUDA. 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. 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

Mehr

GPU-Programmierung: OpenCL

GPU-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

Mehr

General Purpose Computation on GPUs

General 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

Mehr

DRI Bilderzeugung mit CUDA (enfuse)

DRI Bilderzeugung mit CUDA (enfuse) DRI Bilderzeugung mit CUDA (enfuse) Hardware-Software-Co-Design Universität Erlangen-Nürnberg seebaastian@yahoo.de loe.florian@googlemail.com christian.duttine@gmx.de 1 Übersicht Problemstellung Algorithmus

Mehr

Implementierung zweier Algorithmen mittels OpenCL auf Grafikkarten

Implementierung zweier Algorithmen mittels OpenCL auf Grafikkarten Implementierung zweier Algorithmen mittels OpenCL auf Grafikkarten Tobias Schwarzer, Michael Theil Hardware-Software-Co-Design Universität Erlangen-Nürnberg Tobias.Schwarzer@e-technik.uni-erlangen.de,

Mehr

Compute Unified Device Architecture CUDA

Compute 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:

Mehr

OpenCL. Programmiersprachen im Multicore-Zeitalter. Tim Wiersdörfer

OpenCL. 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

Mehr

Proseminar. GPU-Computing Cuda vs. OpenCL. SS 2013 Alexander Stepanov

Proseminar. 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

Mehr

Implementierung und Evaluierung von Video Feature Tracking auf moderner Grafik Hardware

Implementierung und Evaluierung von Video Feature Tracking auf moderner Grafik Hardware Implementierung und Evaluierung von Video Feature Tracking auf moderner Diplomarbeit vorgelegt von Sebastian Heymann Betreut von Prof. Dr. Bernd Fröhlich Bauhaus Universität t Dr. Aljoscha Smolic Fraunhofer

Mehr

Multiskalenanalyse. Any view depends on the viewpoint!

Multiskalenanalyse. Any view depends on the viewpoint! Multiskalenanalyse Any view depends on the viewpoint! Multiskalenanalyse Motivation Aufwandsminimierung bei Filterung Objekterkennung, Segmentierung Textur Klassifikation Mosaicing rundlagen Signaltheorie

Mehr

OpenCL Implementierung von OpenCV Funktionen

OpenCL 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

Mehr

LEISTUNGSVERGLEICH 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 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

Mehr

Praxiseinheit: Realisierung einer hardwarebeschleunigten Disparitätenberechnung zur automatischen Auswertung von Stereobildern

Praxiseinheit: 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.

Mehr

Diplomarbeit. Neue Möglichkeiten durch programmierbare Shader. Unter der Leitung von: Prof. Dr.-Ing. Detlef Krömker

Diplomarbeit. Neue Möglichkeiten durch programmierbare Shader. Unter der Leitung von: Prof. Dr.-Ing. Detlef Krömker Diplomarbeit 5HDO7LPH6SHFLDO (IIHFWV Neue Möglichkeiten durch programmierbare Shader Unter der Leitung von: Prof. Dr.-Ing. Detlef Krömker Betreut von: Paul Grimm, Ralf Dörner Beginn: 01.04.02 Abgabe: 30.09.02

Mehr

GPU Programmierung 6. Juli 2004 M. Christen, T. Egartner, P. Zanoni

GPU Programmierung 6. Juli 2004 M. Christen, T. Egartner, P. Zanoni GPU Programmierung 6. Juli 2004 M. Christen, T. Egartner, P. Zanoni 1 Ablauf GPU Programm Vertex und Fragment Shader 2 3 4 5 Image Processing 6 Ablauf GPU Programm Ablauf GPU Programm Vertex und Fragment

Mehr

3D-Oberflächen-Rekonstruktion und plastisches Rendern aus Bilderserien

3D-Oberflächen-Rekonstruktion und plastisches Rendern aus Bilderserien plastisches Rendern aus Bilderserien Sebastian Schäfer Carsten Heep Detlef Krömker Unterstüzung: Thomas Lehmann Krister Smith Naturmuseum Senckenberg Übersicht Motivation & Problemstellung Verfahren Anforderungen

Mehr

Simulation digitaler Schaltungen auf GPUs

Simulation digitaler Schaltungen auf GPUs Simulation digitaler Schaltungen auf GPUs Yohan Humbert TU Kaiserslautern Embedded Systems Group 1 Inhalt 1. Motivation und Geschichte 2. Simulation 3. Synchrones Verfahren 4. Asynchrones Verfahren 5.

Mehr

Volumenakquise. Vortrag von Benjamin Gayer

Volumenakquise. Vortrag von Benjamin Gayer 10.11.11 1 Volumenakquise Vortrag von Benjamin Gayer Einführung Bildquelle: http://www.medical.siemens.com/siemens/de_de/rg_marcom_fbas/files/patienteninformationen/ct_geschichte_technologie. pdf 10.11.11

Mehr

Threading. Arthur Zaczek. Aug 2015

Threading. Arthur Zaczek. Aug 2015 Arthur Zaczek Aug 2015 1 Threading 1.1 Motivation Threading erlaubt die gleichzeitige Ausführung von mehreren Programmteilen. mehrere gleichzeitige Anfragen: Webserver, Datenbank (zu) lange laufende Berechnungen:

Mehr

CUDA Optimierung von nicht-linearer oberflächen- und intensitätsbasierter Registrierung

CUDA Optimierung von nicht-linearer oberflächen- und intensitätsbasierter Registrierung CUDA Optimierung von nicht-linearer oberflächen- und intensitätsbasierter Registrierung Stefan Köhnen, Jan Ehrhardt, Alexander Schmidt-Richberg, Heinz Handels Institut für Medizinische Informatik, Universität

Mehr

Optical Flow im Browser - beschleunigt mit WebGL

Optical Flow im Browser - beschleunigt mit WebGL Optical Flow im Browser - beschleunigt mit WebGL Michael Moese und Marvin Kampf Seminar: Multi-Core Architectures and Programming, SS13 Inhalt 1. Optischer Fluss mit der Census-Transformation 2. Parallele

Mehr

C-to-CUDA-Compiler. Johannes Kölsch. October 29, 2012

C-to-CUDA-Compiler. Johannes Kölsch. October 29, 2012 October 29, 2012 Inhaltsverzeichnis 1 2 3 4 5 6 Motivation Motivation CUDA bietet extreme Leistung für parallelisierbare Programme Kompliziert zu programmieren, da multi-level parallel und explizit verwalteter

Mehr

Wie findet man interessante Punkte? Martin Herrmann, Philipp Gaschler

Wie findet man interessante Punkte? Martin Herrmann, Philipp Gaschler Wie findet man interessante Punkte? Martin Herrmann, Philipp Gaschler Wenn man sie denn gefunden hat, was kann man mit den interessanten Punkten anfangen? /Anwendungsgebiete Wenn man sie denn gefunden

Mehr

PRIP-Preis. Effizientes Object Tracking durch Programmierung von Mehrkernprozessoren und Grafikkarten

PRIP-Preis. Effizientes Object Tracking durch Programmierung von Mehrkernprozessoren und Grafikkarten Masterarbeit @ PRIP-Preis Effizientes Object Tracking durch Programmierung von Mehrkernprozessoren und Grafikkarten Michael Rauter Pattern Recognition and Image Processing Group Institute of Computer Aided

Mehr

Masterpraktikum Scientific Computing

Masterpraktikum 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

Mehr

1. Filterung im Ortsbereich 1.1 Grundbegriffe 1.2 Lineare Filter 1.3 Nicht-Lineare Filter 1.4 Separabele Filter 1.

1. Filterung im Ortsbereich 1.1 Grundbegriffe 1.2 Lineare Filter 1.3 Nicht-Lineare Filter 1.4 Separabele Filter 1. . Filterung im Ortsbereich. Grundbegriffe. Lineare Filter.3 Nicht-Lineare Filter.4 Separabele Filter.5 Implementierung. Filterung im Frequenzbereich. Fouriertransformation. Hoch-, Tief- und Bandpassfilter.3

Mehr

Motivation (GP)GPU CUDA Zusammenfassung. CUDA und Python. Christian Wilms. Integriertes Seminar Projekt Bildverarbeitung

Motivation (GP)GPU CUDA Zusammenfassung. CUDA und Python. Christian Wilms. Integriertes Seminar Projekt Bildverarbeitung CUDA und Python Christian Wilms Integriertes Seminar Projekt Bildverarbeitung Universität Hamburg WiSe 2013/14 12. Dezember 2013 Christian CUDA und Python 1 Gliederung 1 Motivation 2 (GP)GPU 3 CUDA 4 Zusammenfassung

Mehr

Digitale Bildverarbeitung (DBV)

Digitale Bildverarbeitung (DBV) Digitale Bildverarbeitung (DBV) Prof. Dr. Ing. Heinz Jürgen Przybilla Labor für Photogrammetrie Email: heinz juergen.przybilla@hs bochum.de Tel. 0234 32 10517 Sprechstunde: Montags 13 14 Uhr und nach Vereinbarung

Mehr

Navigation anhand natürlicher Landmarken mit Hilfe der Scale Invariant Feature Transform. Thorsten Jost INF-M2 AW1 Sommersemester

Navigation anhand natürlicher Landmarken mit Hilfe der Scale Invariant Feature Transform. Thorsten Jost INF-M2 AW1 Sommersemester Navigation anhand natürlicher Landmarken mit Hilfe der Scale Invariant Feature Transform Thorsten Jost INF-M2 AW1 Sommersemester 2008 Agenda Motivation Feature Detection Beispiele Posenbestimmung in Räumen

Mehr

Suche nach korrespondierenden Pixeln

Suche nach korrespondierenden Pixeln Suche nach korrespondierenden Pixeln Seminar Algorithmen zur Erzeugung von Panoramabildern Philip Mildner, Gliederung 1. Motivation 2. Anforderungen 3. Moravec Detektor 4. Harris Detektor 5. Scale Invariant

Mehr

OpenCL (Cell B. E., PS3) Multicore Architectures and Programming

OpenCL (Cell B. E., PS3) Multicore Architectures and Programming OpenCL (Cell B. E., PS3) Multicore Architectures and Programming Apelt, Nicolas Zoellner, Christian Hardware-Software-Co-Design Universität Erlangen-Nürnberg Apelt, Nicolas Zoellner, Christian 1 Übersicht

Mehr

CUDA by Example. Paralleles Rechnen auf der Grafikkarte. Leipzig, Paul Jähne SethosII

CUDA by Example. Paralleles Rechnen auf der Grafikkarte. Leipzig, Paul Jähne SethosII CUDA by Example Paralleles Rechnen auf der Grafikkarte Leipzig, 31.03.2017 Paul Jähne SethosII 1 Warum? 2 Aufbau CPU geringe Latenz große Zwischenspeicher besser für serielle Ausführung GPU hohe Rechenleistung

Mehr

Struktur des menschlichen Auges. Bildgebende Verfahren in der Medizin und medizinische Bildverarbeitung Bildverbesserung 2 / 99

Struktur des menschlichen Auges. Bildgebende Verfahren in der Medizin und medizinische Bildverarbeitung Bildverbesserung 2 / 99 Struktur des menschlichen Auges 2 / 99 Detektoren im Auge Ca. 100 150 Mio. Stäbchen Ca. 1 Mio. Zäpfchen 3 / 99 Zapfen Entlang der Sehachse, im Fokus Tagessehen (Photopisches Sehen) Scharfsehen Farbsehen

Mehr

GPGPU-Programming. Constantin Timm Informatik 12 TU Dortmund 2012/04/09. technische universität dortmund. fakultät für informatik informatik 12

GPGPU-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

Mehr

Milderung der Aliasing-Effekte (keine Lösung des Problems)

Milderung der Aliasing-Effekte (keine Lösung des Problems) Anti-Aliasing Milderung der Aliasing-Effekte (keine Lösung des Problems) A priori Methoden: Darzustellende Objekte bekannt. Pixelwert durch analytische Integration über die Pixelfläche A posteriori Methoden:

Mehr

Darstellung als Filterbank. Annahme für die Codierung: bestimmter Betrachtungsabstand, Wiedergabegröße Bestimmter Betrachtungswinkel für das Auge.

Darstellung als Filterbank. Annahme für die Codierung: bestimmter Betrachtungsabstand, Wiedergabegröße Bestimmter Betrachtungswinkel für das Auge. Darstellung als Filterbank Annahme für die Codierung: bestimmter Betrachtungsabstand, Wiedergabegröße Bestimmter Betrachtungswinkel für das Auge. - Trifft in bestimmten Maße auch auf das Original zu, da

Mehr

Segmentierung. Vorlesung FH-Hagenberg SEM

Segmentierung. Vorlesung FH-Hagenberg SEM Segmentierung Vorlesung FH-Hagenberg SEM Segmentierung: Definition Die Pixel eines Bildes A={a i }, i=1:n, mit N der Anzahl der Pixel, werden in Teilmengen S i unterteilt. Die Teilmengen sind disjunkt

Mehr

GPUs. 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 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

Mehr

Zeit- und bewegungsabhängige Rauschreduktion

Zeit- und bewegungsabhängige Rauschreduktion Zeit- und bewegungsabhängige Rauschreduktion Elmar Bührle 1, Benjamin Keck 1,2, Stefan Böhm 3, Joachim Hornegger 1 1 Lehrstuhl für Mustererkennung, Martensstraße 3, 91058 Erlangen 2 Siemens Healthcare,

Mehr

Interaktive 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) Interaktive Globale Beleuchtung nach dem Antiradiance-Verfahren mittels der Open Computing Language (OpenCL) Verteidigung der Belegarbeit Andreas Stahl Zielstellung Globales Beleuchtungsverfahren für die

Mehr

CUDA. 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. 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:

Mehr

RST-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 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

Mehr

Computergrafik Universität Osnabrück, Henning Wenke,

Computergrafik Universität Osnabrück, Henning Wenke, Computergrafik Universität Osnabrück, Henning Wenke, 2012-05-14 Kapitel V: Modeling Transformation & Vertex Shader 5.1 Vertex Definitionen: Vertex Vertex Computergrafik Mathematischer Punkt auf einer Oberfläche

Mehr

Mehrstufige zeit- und bewegegungsabhängige Rauschreduktion in Echtzeit mittels CUDA

Mehrstufige zeit- und bewegegungsabhängige Rauschreduktion in Echtzeit mittels CUDA Mehrstufige zeit- und bewegegungsabhängige Rauschreduktion in Echtzeit mittels CUDA Elmar Bührle 1, Benjamin Keck 1,2, Stefan Böhm 3 and Joachim Hornegger 1 1 Lehrstuhl für Mustererkennung, Martensstraße

Mehr

Parallele Programmierung mit GPUs

Parallele Programmierung mit GPUs Parallele Programmierung mit GPUs Jutta Fitzek Vortrag im Rahmen des Moduls Parallele Programmierung, WS12/13, h_da Agenda GPUs: Historie GPU Programmierung Konzepte Codebeispiel Generelle Tipps & Tricks

Mehr

Seminar: Multi-Core Architectures and Programming

Seminar: Multi-Core Architectures and Programming Seminar: Multi-Core Architectures and Programming Parallelisierung des Viola-Jones Algorithmus auf Tilera Hardware-Software-Co-Design Universität Erlangen-Nürnberg 1 Übersicht Einleitung Erste Versuche

Mehr

- - CodE 11 CodE 0 0 0 0 0 0 0 0 2.o C 1 10.0 C 2 off 3 3.0 4 2.0 5 off 6 1 8 20.0 9 60 C 7 4.0 10 80 C 1 38 C 12 8 k 13 on 14 30.0 15 10 16 - - CodE 11 CodE 0 0 0 0 0 0 0 0 2.o C 1 10.0 C 2

Mehr

Projekt Lesebrille : Mobiles Vorlesegerät für Blinde

Projekt Lesebrille : Mobiles Vorlesegerät für Blinde Projekt Lesebrille : Mobiles Vorlesegerät für Blinde Texterkennung Vorverarbeitung Rauschen Kontrasterhöhung, Schärfung Binarizierung Layouterkennung Dokumentgrenzen Textblöcke, Textspalten Ausrichtung

Mehr

Eine kurze Geschichte der Grafikkarten

Eine 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

Mehr

INTELLIGENTE DATENANALYSE IN MATLAB

INTELLIGENTE DATENANALYSE IN MATLAB INTELLIGENTE DATENANALYSE IN MATLAB Bildanalyse Literatur David A. Forsyth: Computer Vision i A Modern Approach. Mark S. Nixon und Alberto S. Aguado: Feature Extraction and Image Processing. Ulrich Schwanecke:

Mehr

Masterpraktikum Scientific Computing

Masterpraktikum 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)

Mehr

Automatische OpenCL-Code-Analyse zur Bestimmung von Speicherzugriffsmustern

Automatische OpenCL-Code-Analyse zur Bestimmung von Speicherzugriffsmustern Automatische OpenCL-Code-Analyse zur Bestimmung von Speicherzugriffsmustern Bachelorarbeit Moritz Lüdecke 8. Juli 2014 INSTITUT FÜR TECHNISCHE INFORMATIK - LEHRSTUHL FÜR RECHNERARCHITEKTUR UND PARALLELVERARBEITUNG

Mehr

Parallel Computing. Einsatzmöglichkeiten und Grenzen. Prof. Dr. Nikolaus Wulff

Parallel Computing. Einsatzmöglichkeiten und Grenzen. Prof. Dr. Nikolaus Wulff Parallel Computing Einsatzmöglichkeiten und Grenzen Prof. Dr. Nikolaus Wulff Vorüberlegungen Wann ist paralleles Rechnen sinnvoll? Wenn die Performance/Geschwindigkeit steigt. Wenn sich größere Probleme

Mehr

Seminar: Multi-Core Architectures and Programming. Viola-Jones Gesichtsdetektor

Seminar: Multi-Core Architectures and Programming. Viola-Jones Gesichtsdetektor Seminar: Multi-Core Architectures and Programming Viola-Jones Gesichtsdetektor Hardware-Software-Co-Design Universität Erlangen-Nürnberg 1 Übersicht Einleitung Viola-Jones Gesichtsdetektor Aufbau Blockmerkmale

Mehr

Computational Engineering I

Computational Engineering I DEPARTMENT INFORMATIK Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg Martensstraße 3, 91058 Erlangen 01.02.2017 Probeklausur zu Computational Engineering

Mehr

Einführung. GPU-Versuch. Andreas Schäfer Friedrich-Alexander-Universität Erlangen-Nürnberg

Einfü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

Mehr

Debayeringverfahren. 19. Mai Thomas Noack, Nikolai Kosjar. SE Computational Photography - Debayeringverfahren

Debayeringverfahren. 19. Mai Thomas Noack, Nikolai Kosjar. SE Computational Photography - Debayeringverfahren Debayeringverfahren Thomas Noack, Nikolai Kosjar 19. Mai 2010 Was bisher geschah... Reduktion der Herstellungskosten durch Einsatz von nur noch einem CCD-Sensor mit Bayer-Filter Problem: Bayer Image Full

Mehr

GPU Architektur CUDA - OpenCL

GPU 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);

Mehr

Thema: Hardware-Shader

Thema: Hardware-Shader Seminar Grafikprogrammierung Thema: Hardware-Shader Christian Bauer 03.07.08 Überblick Entwicklung Die Shader im Detail Programmierung GPGPU Zusammenfassung & Ausblick 1/19 Entwicklung (1) Früher: Berechnung

Mehr

Hochleistungsrechnen auf dem PC

Hochleistungsrechnen auf dem PC Hochleistungsrechnen auf dem PC Steffen Börm Christian-Albrechts-Universität zu Kiel Ringvorlesung Informatik, 26. Juni 2014 S. Börm (CAU Kiel) Hochleistungsrechnen auf dem PC 26. Juni 2014 1 / 33 Übersicht

Mehr

CUDA. Philip Höhlein, Nils Werner Supervision: R. Membarth, P. Kutzer, F. Hannig. Hardware-Software-Co-Design Universität Erlangen-Nürnberg

CUDA. Philip Höhlein, Nils Werner Supervision: R. Membarth, P. Kutzer, F. Hannig. Hardware-Software-Co-Design Universität Erlangen-Nürnberg CUDA 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 Entwicklungsumgebung RSA-Faktorisierer

Mehr

EFM-DBSCAN EIN BAUMBASIERTER CLUSTERING- ALGORITHMUS UNTER AUSNUTZUNG ERWEITERTER LEADER-UMGEBUNGEN. Philipp Egert. 08. März 2017

EFM-DBSCAN EIN BAUMBASIERTER CLUSTERING- ALGORITHMUS UNTER AUSNUTZUNG ERWEITERTER LEADER-UMGEBUNGEN. Philipp Egert. 08. März 2017 08. März 2017 EFM-DBSCAN EIN BAUMBASIERTER CLUSTERING- ALGORITHMUS UNTER AUSNUTZUNG ERWEITERTER LEADER-UMGEBUNGEN Philipp Egert Fachgebiet Datenbank- und Informationssysteme Motivation DBSCAN als Vorreiter

Mehr

Image Compression. Kompression. Beseitigung der unnötigen Daten... Redundanz. Vorlesung FH-Hagenberg SEM. Backfrieder-Hagenberg. Backfrieder-Hagenberg

Image Compression. Kompression. Beseitigung der unnötigen Daten... Redundanz. Vorlesung FH-Hagenberg SEM. Backfrieder-Hagenberg. Backfrieder-Hagenberg Image Compression Vorlesung FH-Hagenberg SEM Kompression Encoder Decoder Beseitigung der unnötigen Daten... Redundanz 1 Inhalte Redundanz Error-Free Compression Hufmann Coding Runlength Coding Lossy Compression

Mehr

Stream Processing und High- Level GPGPU Sprachen

Stream Processing und High- Level GPGPU Sprachen Stream Processing und High- Level GPGPU Sprachen Seminar Programmierung von Grafikkarten Jens Breitbart Problem 5000% 4000% 3000% 2000% Rechenleistung: +71% pro Jahr Bandbreite: +25% pro Jahr Zugriffszeit:

Mehr

OpenCL. OpenCL. Boris Totev, Cornelius Knap

OpenCL. 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

Mehr

Image Compression. Kompression. Beseitigung der unnötigen Daten... Redundanz. Vorlesung FH-Hagenberg SEM. Backfrieder-Hagenberg. Backfrieder-Hagenberg

Image Compression. Kompression. Beseitigung der unnötigen Daten... Redundanz. Vorlesung FH-Hagenberg SEM. Backfrieder-Hagenberg. Backfrieder-Hagenberg Image Compression Vorlesung FH-Hagenberg SEM Kompression Encoder Decoder Beseitigung der unnötigen Daten... Redundanz 1 Inhalte Redundanz Channel Encoding Error-Free Compression Hufmann Coding Runlength

Mehr

Numerik und Rechnen. Martin Heide & Dominik Holler. 12. Juni 2006

Numerik und Rechnen. Martin Heide & Dominik Holler. 12. Juni 2006 12. Juni 2006 Bibliothek für Lineare Algebra GPGPU-Programming: Low-Level High-Level Bibliothek Bibliothek für Lineare Algebra Gliederung 1 Bibliothek für Lineare Algebra 2 Skalare Bibliothek für Lineare

Mehr

CUDA. 7. Vorlesung GPU Programmierung. Danke an Hendrik Lensch

CUDA. 7. Vorlesung GPU Programmierung. Danke an Hendrik Lensch CUDA 7. Vorlesung Thorsten Grosch Danke an Hendrik Lensch Parallele l Programmierung mit der GPU Bisher: GPU = OpenGL Pipeline mit Shadern Alles orientiert sich am Rendering Programme für Eckpunkte und

Mehr

Universität Karlsruhe (TH)

Universitä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

Mehr

Cuda Speicherhierarchie

Cuda Speicherhierarchie Cuda Speicherhierarchie Threads eines Blocks können über Shared Memory kommunizieren Der Shared Memory ist klein aber sehr schnell Alle Threads können nur über Global Memory kommunizieren Der Global Memory

Mehr

Parallel Computing. Einsatzmöglichkeiten und Grenzen. Prof. Dr. Nikolaus Wulff

Parallel Computing. Einsatzmöglichkeiten und Grenzen. Prof. Dr. Nikolaus Wulff Parallel Computing Einsatzmöglichkeiten und Grenzen Prof. Dr. Nikolaus Wulff Parallel Architekturen Flynn'sche Klassifizierung: SISD: single Instruction, single Data Klassisches von-neumann sequentielles

Mehr

Image Compression. Vorlesung FH-Hagenberg DSB

Image Compression. Vorlesung FH-Hagenberg DSB Image Compression Vorlesung FH-Hagenberg DSB Kompression Encoder Decoder Beseitigung der unnötigen Daten... Redundanz Inhalte Redundanz Loss-less Compression Hufmann Coding Runlength Coding Lossy Compression

Mehr

Echtzeitdarstellung von Terrainszenarien mit Occlusion Culling

Echtzeitdarstellung von Terrainszenarien mit Occlusion Culling Echtzeitdarstellung von Terrainszenarien mit Occlusion Culling, Alexandre Miguel Maia, Christian-A. Bohn Echtzeitdarstellung von Terrainszenarien mit Occlusion Culling Folie 1 Gliederung Motivation Chunked

Mehr

Paralleler 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. Paralleler Cuckoo-Filter Seminar: Implementierungstechniken für Hauptspeicherdatenbanksysteme Jeremias Neth München, 21. November 2017 1 Paralleler Cuckoo-Filter Cuckoo-Hashtabelle Serieller Cuckoo-Filter

Mehr

Layout-Synthese - Globale Verdrahtung Peter Marwedel

Layout-Synthese - Globale Verdrahtung Peter Marwedel 12 Layout-Synthese - Globale Verdrahtung Peter Marwedel Universität Dortmund, Informatik 12 2008/07/05 Globale Verdrahtung, Allgemeines zur Verdrahtung 12, 2008-2- Bäume 12, 2008-3- Steiner-Bäume Def.:

Mehr

Deterministische PDAs

Deterministische PDAs Deterministische PDAs Erinnerung: Ein PDA ist deterministisch, wenn q Q, a Σ, Z Γ: δ(q,a,z) + δ(q,ε,z) 1. Definition: Eine Sprache heißt deterministisch kontextfrei, wenn es für sie einen DPDA gibt. Ziel:

Mehr

Parallele Algorithmen in der Bildverarbeitung

Parallele Algorithmen in der Bildverarbeitung Seminar über Algorithmen - SoSe 2009 Parallele Algorithmen in der Bildverarbeitung von Christopher Keiner 1 Allgemeines 1.1 Einleitung Parallele Algorithmen gewinnen immer stärker an Bedeutung. Es existieren

Mehr

Hardware-unabhängige Beschleunigung von Medizinischer Bildverarbeitung mit OpenCL

Hardware-unabhängige Beschleunigung von Medizinischer Bildverarbeitung mit OpenCL Hardware-unabhängige Beschleunigung von Medizinischer Bildverarbeitung mit OpenCL Christian Siegl 1, Hannes G. Hofmann 1, Benjamin Keck 1, Marcus Prümmer 1, Joachim Hornegger 1,2 1 Lehrstuhl für Mustererkennung,

Mehr

Hardware-unabhängige Beschleunigung von Medizinischer Bildverarbeitung mit OpenCL

Hardware-unabhängige Beschleunigung von Medizinischer Bildverarbeitung mit OpenCL Hardware-unabhängige Beschleunigung von Medizinischer Bildverarbeitung mit OpenCL Christian Siegl 1, Hannes G. Hofmann 1, Benjamin Keck 1, Marcus Prümmer 1, Joachim Hornegger 1,2 1 Lehrstuhl für Mustererkennung,

Mehr

> High-Level Programmierung heterogener paralleler Systeme

> 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

Mehr

Local Search Algorithmen 1

Local Search Algorithmen 1 Local Search Algorithmen 1 Seminar über Algorithmen Manuel Gellfart 18.05.2012 Fachbereich Mathematik und Informatik 18.05.2012 2 Gliederung 1. Einleitung 2. Theorie 3. Beispiel: Vertex Cover 4. Beispiel:

Mehr

Visualisierung und Volumenrendering 2

Visualisierung und Volumenrendering 2 Institut für Computervisualistik Universität Koblenz 06.07.2012 Inhaltsverzeichnis 1 Literatur 2 Wiederholung 3 DVR Volumen Literatur Real-Time Volume Graphics Volumenrendering CG Shader Beispiele Volumen

Mehr

Lösen Sie mindestens 7 der folgenden Aufgaben. Abgabe: nächster Termin (21.Mai 2019).

Lösen Sie mindestens 7 der folgenden Aufgaben. Abgabe: nächster Termin (21.Mai 2019). Image Tutorial 2 MBV - SS19, richard rascher-friesenhausen Dies ist der zweite Teil einer sehr, sehr kurze Einführung zu Python und den Möglichkeiten, vermittels des Moduls SimpleITK Bilder zu bearbeiten.

Mehr

CUDA Workshop. Ausblick. Daniel Tenbrinck

CUDA Workshop. Ausblick. Daniel Tenbrinck CUDA Workshop Ausblick Daniel Tenbrinck Computer Vision and Pattern Recognition Group Institut für Informatik Westfälische Wilhelms-Universität Münster 03.Juli 2009 Folie: 1 / 10 Daniel Tenbrinck CUDA

Mehr

Rheinisch-Westfälische Technische Hochschule Aachen. Seminararbeit

Rheinisch-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

Mehr

Physikalische Simulationen mit. 9. Vorlesung GPU Programmierung Thorsten Grosch

Physikalische Simulationen mit. 9. Vorlesung GPU Programmierung Thorsten Grosch Physikalische Simulationen mit CUDA 9. Vorlesung g Thorsten Grosch Übersicht Verschiedene physikalische Simulationen mit CUDA Deformationen Wärmeausbreitung Lichtausbreitung Können oft parallelisiert werden

Mehr