Multi-Core Architectures and Programming. Bilateral Grid Filter
|
|
- Nicolas Falk
- vor 6 Jahren
- Abrufe
Transkript
1 Multi-Core Architectures and Programming Bilateral Grid Filter - Parallelisierung mit CUDA - C. Kugler und E. Sert
2 Inhalt Motivation Bilateral Filter (Exkurs) Bilateral Grid Filter Portierung auf Grafikkarte Verwendete Datenstrukturen Aufteilung der Threads Probleme Ergebnisse Fehlerabschätzung Zeitmessung Quellen 2
3 Motivation
4 Motivation Aufgenommene Bilder enthalten mehr oder weniger stark ausgeprägte Störungen/ Rauschen Möchte Bildqualität verbessern Rauschen entfernen und Kanten erhalten Echtzeit Anwendung (Medizin) Schnelligkeit 4
5 Bilateral Filter (Exkurs)
6 Bilateral Filter (Exkurs) Nonlinear Gaussian filter Gewichtung anisotrop Filter der Signale glättet und starke Kanten erhält Neben Nachbarschaft wird die Intensitätsdifferenz betrachtet Unterschied in Intensität Räumliche Entfernung s: Fenstergröße r: Gewichtung Intensitätsdifferenz Normalisierung [1] Seite 2 Bildquelle [4] 6
7 Bilateral Grid Filter (BGF)
8 Bilateral Grid Filter (3) Algorithmus in drei Schritten: 1) Aufbau des 3D-Gitters durch Down-Sampling der Daten 2) Glättung mit dreidimensionalem Kernel 3) Up-Sampling durch Interpolation und Dehomogenisierung Schnelligkeit durch Berechnung auf vermindertem Datensatz Interpolation führt zu gewissem Genauigkeitsverlust 8
9 3D-Gitter Erinnerung: s = Fenstergröße und r = Gewichtung Intensitätsdifferenz Anhand gegebener Werten für s und r werden die Gitterkoordinaten (xg, yg, zg) folgendermaßen aufgestellt: x + 0.5) s y = floor ( + 0.5) s I ( x, y) I min = floor ( + 0.5) r xg = floor ( yg zg Räumliche Dimension (x,y) wird s s große Zellen eingeteilt 9
10 Aufbau 3D-Gitter 3D Gitter (s = 2) 14 x 10 Pixel Sonderfall Rand Größe einer Zelle ½ * s 10
11 Aufbau 3D-Gitter 3D Gitter (s = 2) 14 x 10 Pixel Für jede Zelle wird Histogramm aus Intensitäten dieser erstellt werden entlang z-achse ausgelegt (3. Dimension) 11
12 Blur Entfernt Rauschen im Bild Gauss'scher Filter mit Kernel K der Größe 3x3x3 auf (x,y,z)- Dimensionen mit 2 Iterationen w=1 [ ] K= w=1 w=1 y z w=2 x w=1 w=1 w=1 (in 2D) (in 3D) Ergebnis entsteht durch iterative Ausführung des Filters Buffer muss nach jeder Iteration neu befüllt werden Bei der Parallelisierung ergibt sich dadurch eine Racing Condition 12
13 Interpolation und Dehomogenisierung Rekonstruktion von höher dimensionalen Daten (Ausgangsgröße des Bildes) trilineare Interpolation der Daten aus dem Gitter auf Basis der ursprünglichen Intensitäten Q = (1 Δz ) (Δ y (Δx P001 + (1 Δ x ) P101 ) + (1 Δy ) (Δx P (1 Δx ) P 111 )) + Δz (Δy (Δx P (1 Δx ) P 100 ) + (1 Δy ) (Δx P010 + (1 Δ x ) P110 )) mit Δx = x x0 y y 0 z z 0, Δy=, Δz=, P i ℕ3, Q ℕ2,. =Farbwert x1 x 0 y 1 y 0 z 1 z 0 Abschließende Normalisierung der Daten mit den Gewichten (z-komponente) aus dem vorherigen Schritt 13
14 Unterschied BGF und Gauss Gauss'scher Filter Filtergröße: 16x16 BGF s = 16 und r =
15 Portierung auf die Grafikkarte
16 Allgemeines (1) Verwendete Technologie: CUDA 5.0 / Nvidia Tesla C2050 Verwendete Datenstrukturen: CUDA Arrays und 3D-Texturen / -Surfaces (Surfaces ermöglichen Schreibzugriff auf Texturspeicher) Texturen / Surfaces müssen an Cuda Arrays gebunden werden 16
17 Allgemeines (2) Generelle Optimierungsstrategien: Minimierung von IO-Operationen (Bottleneck) Daten werden einmal hochgeladen und bleiben dort für den gesamten Berechnungszeitraum (Surface Textur) Vielfaches der Warp-Size als Blockgröße bei Kernel- Ausführung hier: keine Verbesserung der Performance Minimierung von arithmetischen Operationen und Fallunterscheidungen im Kernel 17
18 Datenstrukturen Reihenfolge Daten beachten 3. Dimension wird nur an dieser Stelle definiert Breite in Byte angeben (pitch) 18
19 Datenstrukturen Erstellte globale Surface-Referenz kann aus Kernel verwendet werden y Wert der float2 Variable wird sonst als int interpretiert Index x muss in Byte angegeben werden 19
20 Datenstrukturen Textur speichert Samples (nehmen keinen Raum ein im Gegensatz zu Pixeln) müssen Sample in Mitte abgreifen um exakten Pixel Wert zu erhalten 20
21 Verteilung der Threads Die Anzahl der gestarteten Threads wird auf die Dimension des Ausgabe-Bildes /-Gitters angepasst Gitter Aufbau (Down-Sampling): Thread pro Zelle im 2D-Raster des Gitters (pro Thread s s Pixel im Original Bild) Daten werden in einem 3D-Surface gespeichert Alternative: Thread pro Pixel und Atomics zur Synchronisation Unvorteilhaft, da hohe Konkurrenz zwischen Threads 21
22 Verteilung der Threads Glättung: Ein Thread pro Zelle im 3D Gitter Jede Dimension wird nacheinander 2 mal aufgerufen (wegen 2-facher Iteration) Vermeidung von Racing Condition Interpolation und Dehomogenisierung: Ein Thread pro Pixel Automatische Trilineare Interpolation wird durch Texturspeicher gewährleistet Wichtige Optimierung für die Performance Randbetrachtung fällt weg, da durch Texturkonfiguration festgelegt 22
23 Blockzuteilung im Kernel Down-Sampling (Glättung analog mit zusätzlicher Dimension) Aufteilung: ( width height) Blocks. x = T (width height ) Blocks. y = T (width+ Blocks. x 1) Blocks. x, T = max. Anzahl (height + Blocks. y 1) Threads pro Block Threads. y = Blocks. y Threads. x = Zugriff (Bestimmung von Array-Indices im Kernel): x T = (blockidx. x blockdim. x) + threadidx.x y T = (blockidx. y blockdim. y) + threadidx.y Ermöglicht einfache Berechnung der (x,y)-indices Achtung: Es werden fast immer zu viele Threads gestartet Grenzen prüfen 23
24 Probleme
25 Problem (1): Falscher Surface-Zugriff Gelesene und geschriebene Werte werden auf Int's gecastet erzeugt Artefakte Lösung: surf3dwrite<type> 25
26 Problem (2): Reihenfolge im 3D-Array Vertauschen der x- und z-dimension 26
27 Ergebnisse
28 Output im Vergleich Input 1600 x 1200 Pixel s=4 r = 0.1 s=8 r = 0.1 s = 16 r = 0.1 CPU GPU 28
29 Output im Vergleich s = 4 und r = 0.1 auf CPU s = 4 und r = 0.1 auf GPU Vergleichsbild mit ImageMagick (Fehler in Rot ) Differenzbild mit Gimp 29
30 Output im Vergleich s = 8 und r = 0.1 auf CPU s = 8 und r = 0.1 auf GPU Vergleichsbild mit ImageMagick (Fehler in Rot ) Differenzbild mit Gimp 30
31 Output im Vergleich s = 16 und r = 0.1 auf CPU s = 16 und r = 0.1 auf GPU Vergleichsbild mit ImageMagick (Fehler in Rot ) Differenzbild mit Gimp 31
32 Fehlervergleich Absolute Anzahl der Fehler und Mittlerer quadratischer Fehler (MSE) m 1 n 1 MSE= 1 2 [I i, j K i, j ] mn i=0 j=0 #Pixel MSE s= s= s = [5] 32
33 Mögliche Gründe für die Fehler Float Instruktionsreihenfolge (GPU vs. CPU) Eventuelle Probleme bei kommutativen Operationen Float Instruktionsart ( Fused Multiply-Add ) Erlaubt Berechnung der Art (X*Y + Z) ohne Rundung nach der Multiplikation höhere Genauigkeit des Ergebnisses Texturfilterungskoeffizienten interne Interpolations-Koeffizienten werden nur in einem 9-Bit Festkomma- Format verwaltet 33
34 Laufzeiten im Vergleich Verwendete Hardware: Tesla C2050 / Intel Xeon E5640 4x2,67 Ghz Tesla C2050: ~ 2,6 GB globalen Hauptspeicher, 448 Cuda Kerne Bildgröße beläuft sich auf: 1600 x 1200 Pixel (~ 2 MP) BGF CPU BGF GPU BGF CPU BGF GPU BGF CPU BGF GPU (s = 4, r = 0.1) (s = 4, r = 0.1) (s = 8, r = 0.1) (s = 8, r = 0.1) (s = 16, r = 0.1) (s = 16, r = 0.1) - ~ 60 ms - ~ 60 ms - ~ 60 ms Downsampling ~ 106 ms ~ 6.8 ms ~ 93 ms ~ 3.6 ms ~ 89 ms ~ 5.4 ms Glättung ~1105 ms ~ 7.1 ms ~ 280 ms ~ 2.1 ms ~ 72 ms ~ 0.7 ms Slicing ~ 850 ms ~ 4.2 ms ~ 862 ms ~ 4.2 ms ~ 862 ms ~ 4.2 ms Ʃ ~ 2063 ms ~ 18.5 ms ~ 1235 ms ~ 10.0 ms ~ 1023 ms ~ 10.5 ms Datenupload Speed-Up ~26x ~18x ~15x 34
35 Quellen
36 Quellen (1) Paris, Sylvain, and Frédo Durand. "A fast approximation of the bilateral filter using a signal processing approach." Computer Vision ECCV Springer Berlin Heidelberg, (2) (3) (4) (5) 36
37 Anhang
38 Blockzuteilung im Kernel Interpolation und Dehomogenisierung (linear) Aufteilung: Threads. x = T, Blocks. x = ceil (width height / T ) T = k WARP_SIZE, k ℕ Zugriff: idx = (blockidx. x blockdim. x + threadidx. x) x = floor (idx / height ) y = idx x height 38
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
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
MehrEnblend - Portierung auf die GPU
Multi-Core Architectures and Programming Enblend - Portierung auf die GPU Hardware/Software Co-Design September 25, 2009 1 Inhalt 1 Motivation 2 Enblend-Algorithmus 3 Beschleunigung mittels Cuda 4 Benchmark
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
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
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
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.
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
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
MehrParallelisierung 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)
MehrObjekterkennung 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,
MehrCUDA. 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
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)
MehrDigital 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ÜBUNGS-BLOCK 7 LÖSUNGEN
ÜBUNGS-BLOCK 7 LÖSUNGEN Aufgabe 1: Gegeben ist folgender Code: Auto[] array = new Auto[3]; // Alle Autos im Array tunen: for (int i = 1; i
MehrOpenCL (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
MehrImplementierung 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,
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:
MehrPRIP-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
MehrParallelisierung von Modellprädiktiver Regelung auf CUDA-Hardware
Parallelisierung von Modellprädiktiver Regelung auf CUDA-Hardware Thomas Jahn Universität Bayreuth 6 Februar 20 Zeitdiskretes Modell Modellfunktion Diskrete Dynamik eines Kontrollsystems ist durch Φ :
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
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
MehrSeminar: 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
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
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
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
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
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:
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
MehrMotivation (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
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
MehrEinführung in die medizinische Bildverarbeitung WS 12/13
Einführung in die medizinische Bildverarbeitung WS 12/13 Stephan Gimbel Kurze Wiederholung Pipeline Pipelinestufen können sich unterscheiden, beinhalten aber i.d.r. eine Stufe zur Bildvorverarbeitung zur
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
MehrVolumenakquise. 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
MehrINTELLIGENTE 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:
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
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
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
MehrBildverarbeitung Herbstsemester
Bildverarbeitung Herbstsemester Herbstsemester 2009 2012 Filter Filter 1 Inhalt Lineare und nichtlineare Filter Glättungsfilter (z.b. Gauss-Filter) Differenzfilter (z.b. Laplace-Filter) Lineare Faltung
MehrTensorFlow Open-Source Bibliothek für maschinelles Lernen. Matthias Täschner Seminar Deep Learning WS1718 Abteilung Datenbanken Universität Leipzig
TensorFlow Open-Source Bibliothek für maschinelles Lernen Seminar Deep Learning WS1718 Abteilung Datenbanken Universität Leipzig Motivation Renaissance bei ML und KNN Forschung bei DNN fortgeschrittene
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
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
MehrAlgorithmik III Algorithmen und Modelle für kontinuierliche Datenstrukturen
Algorithmik III Algorithmen und Modelle für kontinuierliche Datenstrukturen Rekonstruktion kontinuierlicher Daten Interpolation multivariater Daten Ulrich Rüde Lehrstuhl für Systemsimulation Sommersemester
MehrOptimierungen der Lattice Boltzmann Methode auf x86-64 basierten Architekturen
Optimierungen der Lattice Boltzmann Methode auf x86-64 basierten Architekturen J. Treibig, S. Hausmann, U. Ruede 15.09.05 / ASIM 2005 - Erlangen Gliederung 1 Einleitung Motivation Grundlagen 2 Optimierungen
MehrParallele 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
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
MehrChristina Nell. 3D-Computergrafik
Christina Nell 3D-Computergrafik Was ist 3D-Computergrafik? 3D graphics is the art of cheating without getting caught. (unbekannte Quelle) Folie 2/52 Inhalt Beleuchtung Shading Texturierung Texturfilterung
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
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
MehrGPU Beschleunigung für die Lösung des inversen Problems bei der Kleinwinkelstreuung. Hermann Hartmann Institut für Molekulare Biophysik
GPU Beschleunigung für die Lösung des inversen Problems bei der Kleinwinkelstreuung Hermann Hartmann Institut für Molekulare Biophysik Messmethode SAXS: Small-Angle X-Ray Scattering (Röntgenstrahlung)
Mehr3D-Punktkorrelation auf Basis von 2D-Bildern auf einer FPGA-Plattform
Fakultät Informatik, Institut für Technische Informatik, Professur für VLSI Entwurfssysteme, Diagnostik und Architektur 3D-Punktkorrelation auf Basis von 2D-Bildern auf einer FPGA-Plattform Verteidigung
MehrGrundlagen der Rechnerarchitektur. Speicher
Grundlagen der Rechnerarchitektur Speicher Übersicht Speicherhierarchie Cache Grundlagen Verbessern der Cache Performance Virtueller Speicher SS 2012 Grundlagen der Rechnerarchitektur Speicher 2 Speicherhierarchie
MehrLR Zerlegung. Michael Sagraloff
LR Zerlegung Michael Sagraloff Beispiel eines linearen Gleichungssystems in der Ökonomie (Input-Output Analyse Wir nehmen an, dass es 3 Güter G, G, und G 3 gibt Dann entspricht der Eintrag a i,j der sogenannten
MehrEVC Repetitorium Blender
EVC Repetitorium Blender Michael Hecher Felix Kreuzer Institute of Computer Graphics and Algorithms Vienna University of Technology INSTITUTE OF COMPUTER GRAPHICS AND ALGORITHMS Filter Transformationen
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
Mehr3D-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
MehrEfficient Matrix Inversion in CUDA
Seminar Multicore Architectures and Programming 08 am Lehrstuhl Informatik 12, Hardware-Software-Co-Design Efficient Matrix Inversion in CUDA Robert Grimm, Matthias Schneider Friedrich-Alexander Universität
MehrHochleistungsrechnen 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
MehrVolumenverarbeitung und Optimierung II
Volumenverarbeitung und Optimierung II Praktikum Medizinische GPU Verfahren Susanne Fischer sanne@uni-koblenz.de Institut für Computervisualistik Universität Koblenz-Landau 9. Dezember 2006 Susanne Fischer
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
MehrGrundlagen der Rechnerarchitektur
Grundlagen der Rechnerarchitektur Speicher Übersicht Speicherhierarchie Cache Grundlagen Verbessern der Cache Performance Virtueller Speicher SS 2012 Grundlagen der Rechnerarchitektur Speicher 2 Speicherhierarchie
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
MehrTag der Umweltmeteorologie 12.05.2015. Michael Kunz
Tag der Umweltmeteorologie 12.05.2015 Michael Kunz Beschleunigung von Ausbreitungsmodellen durch Portierung auf Grafikkarten Einleitung Das GRAL/GRAMM-System Cuda-GRAL Ergebnisse Vergleich der Modellergebnisse
Mehr1 Grundlagen der Numerik
1 Grundlagen der Numerik 1.1 Gleitpunkt-Arithmetik Es gibt nur endlich viele Zahlen auf dem Computer. Gleitpunktzahl: x = σmb E σ: Vorzeichen B: Basis (feste Zahl >1); M: Mantisse E: Exponent B = 2 : Dualzahl
MehrOptical 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
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.
MehrStruktur 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
Mehrtechnische universität dortmund Lehrstuhl für Hochfrequenztechnik Übertragungssysteme
Lehrstuhl für Hochfrequenztechnik GPU-beschleunigte numerische Simulation faseroptischer Übertragungssysteme, Marius Helf, Peter Krummrich Übersicht Motivation Split-Step p Fourier Methode Ansätze für
MehrBildverbesserung (Image Enhancement)
Prof. Dr. Wolfgang Konen, Thomas Zielke Bildverbesserung (Image Enhancement) WS07 7.1 Konen, Zielke Der Prozess der Bildverbesserung (1) Bildverbesserung wird häufig dafür eingesetzt, die für einen menschlichen
MehrVortrag 20: Kurze Vektoren in Gittern
Seminar: Wie genau ist ungefähr Vortrag 20: Kurze Vektoren in Gittern Kerstin Bauer Sommerakademie Görlitz, 2007 Definition und Problembeschreibung Definition: Gitter Seien b 1,,b k Q n. Dann heißt die
MehrProjekt 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
MehrN Bit Binärzahlen. Stelle: Binär-Digit:
N Bit Binärzahlen N Bit Binärzahlen, Beispiel 16 Bit: Stelle: 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 Binär-Digit: 0 0 1 0 1 0 0 1 1 1 0 0 1 0 0 0 Least Significant Bit (LSB) und Most Significant Bit (MSB)
MehrDebayeringverfahren. 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
MehrHauptklausur zur Vorlesung Bildverarbeitung WS 2002/2003
Name:........................................ Vorname:..................................... Matrikelnummer:.............................. Bitte Studiengang ankreuzen: Computervisualistik Informatik Hauptklausur
Mehr4. Segmentierung von Objekten Video - Inhaltsanalyse
4. Segmentierung von Objekten Video - Inhaltsanalyse Stephan Kopf Inhalt Vorgehensweise Berechnung der Kamerabewegungen zwischen beliebigen Bildern Transformation eines Bildes Hintergrundbilder / Panoramabilder
MehrEinführung in die medizinische Bildverarbeitung SS 2013
Einführung in die medizinische Bildverarbeitung SS 2013 Stephan Gimbel 1 Kurze Wiederholung Gradienten 1. und 2. Ableitung grad( f ( x, y) ) = f ( x, y) = f ( x, y) x f ( x, y) y 2 f ( x, y) = 2 f ( x,
MehrAlgorithmen und Datenstrukturen (für ET/IT)
Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 2015 Dr. Tobias Lasser Computer Aided Medical Procedures Technische Universität München Programm heute 7 Fortgeschrittene Datenstrukturen 8 Such-Algorithmen
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
MehrBildbearbeitung und Texturierung
Ulf Döring, Markus Färber 07.03.2011 1. Anti-Aliasing (a) Wodurch entsteht der Aliasing-Effekt bei der Rasterisierung einer Linie? (b) Wie kann der Aliasing-Effekt durch Supersampling mit nachträglichem
MehrCUDA 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
MehrRauschunterdrückung in der Theorie & Praxis
Rauschunterdrückung in der Theorie & Praxis Florian Kramer Urs Pricking Seminar Simulation und Bildanalyse in Java Universität Ulm, Abteilungen SAI & Stochastik 4 Übersicht Motivation Arten von Rauschen
MehrDynamische Programmierung
Dynamische Programmierung Claudia Gerhold 9.5.6 Claudia Gerhold Dynamische Programmierung 9.5.6 / 4 Agenda Einführung Dynamische Programmierung Top-Down Ansatz mit Memoization Bottom-Up Ansatz 3 Anwendungsbeispiele
MehrSuche 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
MehrOrganisatorisches. Folien (u.a.) gibt's auf der Lva-Homepage zum Download
Organisatorisches Folien (u.a.) gibt's auf der Lva-Homepage zum Download Diesen Mi erstes Tutorium (15-17) Ab nächster Woche montags 10-12 (jeweils im Computerraum) 17.10.2017 IT I - VO 3 1 Organisatorisches
MehrAlgorithmen für Sensornetze
Algorithmen für Sensornetze Markus Völker 02. Februar 2010 Lokalisierung in Gebäuden Lokalisierung Ausgangssituation? Lokalisierung Ziel! Lokalisierung Signalabfall in Gebäuden Signalabfall mit ca. 1/d
MehrThema: 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
MehrProzedurale Texturen >>Was nicht passt wird passend gemacht...<<
Prozedurale Texturen >>Was nicht passt wird passend gemacht...
MehrÜbung: Computergrafik 1
Prof. Dr. Andreas Butz Prof. Dr. Ing. Axel Hoppe Dipl.-Medieninf. Dominikus Baur Dipl.-Medieninf. Sebastian Boring Übung: Computergrafik 1 Konvolutionen Morphologische Operationen Hough-Transformation
MehrOrganisatorisches. Folien (u.a.) auf der Lva-Homepage Skriptum über MU Online
Organisatorisches Folien (u.a.) auf der Lva-Homepage Skriptum über MU Online Nächste Woche VO und UE am Dienstag, den 30.10.! UE im CR IL/IT Wissensüberprüfung am Zettel 25.10.2018 IT I - VO 3 1 Organisatorisches
MehrOne of the few resources increasing faster than the speed of computer hardware is the amount of data to be processed. Bin Hu
Bin Hu Algorithmen und Datenstrukturen 2 Arbeitsbereich fr Algorithmen und Datenstrukturen Institut fr Computergraphik und Algorithmen Technische Universität Wien One of the few resources increasing faster
MehrComputergrafik 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
MehrRefactoring the UrQMD Model for Many- Core Architectures
Refactoring the UrQMD Model for Many- Core Architectures Mathias Radtke Semiar: Softwaretechnologie (WS 2013/2014 Goethe-Universität Frankfurt Agenda: 1. UrQMD 2. CPU Vs. GPU 3. Von FORTRAN zu C++/OpenCL
Mehr