Praktikums-Container Programmierung eines graphischen Systems Graphisch-Interaktive Systeme (GRIS) Technische Universität Darmstadt Fraunhoferstraße 5 64283 Darmstadt http://www.gris.informatik.tu-darmstadt.de Darmstadt, 20.10.2009 FB Informatik GRIS Praktikums-Container WS 2009/2010 1
Allgemeines Ä Semesterbegleitendes Praktikum Ä Typ P4, 4 SWS, 6 Credit Points Ä Praktische Programmieraufgaben zu einem speziellen Anwendungsgebiet der graphischen Datenverarbeitung Ä Individuelle Absprache mit dem/r jeweiligen Betreuer/in des Themas Å Themenvorstellung gleich im Anschluss Ä Durchführung: GRIS Ä Organisatorisches: GRIS-Sekretariat, Fr. Eichel, S3 05 313 FB Informatik GRIS Praktikums-Container WS 2009/2010 2
Medical Computing FB Informatik GRIS Praktikums-Container WS 2009/2010 3
Stefan Wesarg FB Informatik GRIS Praktikums-Container WS 2009/2010 4
Hybrides Rendering mit VTK Ä 3D-Renderer für volumetrische als auch polygonale Daten Å auch simultane Darstellung Ä Kapselung von von VTK bereitgestellten Renderingfunktionen Ä Einfaches Interface für Einbindung in medizinische Software-Applikationen Ä Testdaten verfügbar Ä I/O-Routinen werden gestellt Ä Schnelle Überprüfung des Codes durch visuelles Ergebnis Ä Implementierung in C++ (VisualStudio) Ä Aufrufe von VTK-Methoden FB Informatik GRIS Praktikums-Container WS 2009/2010 5
Matthias Kirschner FB Informatik GRIS Praktikums-Container WS 2009/2010 6
Visualisierung von Formvariationen Verbesserung eines bestehenden Tools zur Visualisierung von Formvariationen Geplante neue Features: Ä Verbesserung der Interaktion Ä Vergleichsansichten Ä Automatisches Erstellen von Screenshots Vorraussetzungen Ä Idealerweise: C++ Kenntnisse FB Informatik GRIS Praktikums-Container WS 2009/2010 7
Visual Analytics FB Informatik GRIS Praktikums-Container WS 2009/2010 8
Tatiana v. Landesberger FB Informatik GRIS Praktikums-Container WS 2009/2010 9
Programmierung von Graphlayoutalgorithmen Ä Graphvisualisierung basiert auf Implementierung geeigneter Layouts Ä Aufgabe: Programmierung ausgewählter Layouts Ä Programiersprache: Java, mit Hilfe von JUNG Bibliothek FB Informatik GRIS Praktikums-Container WS 2009/2010 10
Programmierung von Clusteringalgorithmen Ä Clusteringalgorithmen zur Ermittlung von Gruppen von ähnlichen Objekten Ä Partitionierende Algorithmen Ä Hierarchische Algorithmen Ä Dichtebasierende Algorithmen, Ä Ä Aufgabe: Programmierung ausgewählter Clusteringalgorithmen Ä Programiersprache: Java, mit Hilfe von JAMA Bibliothek FB Informatik GRIS Praktikums-Container WS 2009/2010 11
Sebastian Bremm FB Informatik GRIS Praktikums-Container WS 2009/2010 12
Bio-Explorer Tool zur Visualisierung großer Matrizen Beispiel: Bio-Daten Kooperation mit Bioinformatikern Aufgabe: Erweiterung des Programms um z.b.: Interaktionsmöglichkeiten (Zooming, Auswahl, Filtern usw.) Visualisierungsmöglichkeiten Anforderungen: Programmierkenntnisse in JAVA FB Informatik GRIS Praktikums-Container WS 2009/2010 13
GUI für ixsom Tool zur Visualisierung und zum Vergleich von Clusteranalysen Beispiel: Verkehrsdaten von Mailand Aufgabe: Verbesserung der graphischen Benutzeroberfläche Bestehende Oberfläche verschönern Hinzufügen neuer Interaktionsmöglichkeiten (z.b. Markierung, Tooltip usw.) Anforderungen: Programmierkenntnisse in JAVA, speziell Javax.Swing FB Informatik GRIS Praktikums-Container WS 2009/2010 14
Maximilian Scherer FB Informatik GRIS Praktikums-Container WS 2009/2010 15
Projekt Übersicht: Gesucht: FB Informatik GRIS Praktikums-Container WS 2009/2010 16
Computer vision FB Informatik GRIS Praktikums-Container WS 2009/2010 17
Qi Gao, S. Roth FB Informatik GRIS Praktikums-Container WS 2009/2010 18
Efficient Solver for Linear Equation Systems on the GPU Ä Motivation: Ä In image processing and computer vision we frequently need to solve large, sparse linear equation systems. Ä Parallel algorithms can be very efficient, particularly on the GPU. Ä Goal: Ä Implementation of the basic approach in CUDA. Ä Develop a MATLAB plugin. Ä Experimentation and evaluation in an image denoising application. FB Informatik GRIS Praktikums-Container WS 2009/2010 19
Efficient Solver for Linear Equation Systems on the GPU Ä Praktikum (4 SWS) / possibly Bachelor Thesis: Ä Efficient implementation and extensive experimentation Ä Documentation of the results Ä Requirements: Ä Good C/C++ knowledge Ä HCS & basics of linear algebra Ä Background in CUDA and/or MATLAB beneficial, but not required Ä Contact: Ä Qi Gao, M.Sc. qi.gao@gris.tu-darmstadt.de Ä Prof. Stefan Roth, Ph.D. - sroth@cs.tu-darmstadt.de FB Informatik GRIS Praktikums-Container WS 2009/2010 20
Computational Fluid Dynamics FB Informatik GRIS Praktikums-Container WS 2009/2010 21
Alécio Pedro Delazari Binotto Dynamic Load-balancing of Tasks over Multi-core Platforms for CFD Applications FB Informatik GRIS Praktikums-Container WS 2009/2010 22
Motivation Ä Low-Cost Computing Units for Desktops Ä Chips are providing high performance Ä Multi-core Ä Proprietary APIs Ä Difficulties to manage a programm using different computing units Ä Efforts oriented to a common programming language Ä CUDA, OpenCL Ä Applications are requiring high performance Ä Heterogeneous Platforms can promote a better performance [McCool 08; Hill 08] Ä Where to execute the Units for Allocation (tasks, data) Ä Explore platfrom runtime conditions can help Ä Partitioning, Dynamic Alocation, and Profiling FB Informatik GRIS Praktikums-Container WS 2009/2010 23
Scope How can an application take the best benefit from all these modern hybrid Computing Units? Application Analysis & Methods Observation (Re)configuration API CPU HWn (GPUs) FB Informatik GRIS Praktikums-Container WS 2009/2010 24
Performance Results: CPU and GPU CPU vs GPU 70 60 50 time (ms) 40 30 20 PCG on CPU Conjugate Gradient on 8800 Conjugate Gradient on GTX 285 10 0 0 2000 4000 6000 8000 10000 12000 number unknowns 600 Multi GPU 500 400 time (ms) 300 Single GPU Average two GPUs 200 100 alecio.binotto@igd.fraunhofer.de 0 0 1000000 2000000 3000000 4000000 5000000 6000000 7000000 8000000 9000000 number of unkowns FB Informatik GRIS Praktikums-Container WS 2009/2010 25
Shape and symmetry FB Informatik GRIS Praktikums-Container WS 2009/2010 26
A. Kuijper FB Informatik GRIS Praktikums-Container WS 2009/2010 27
Shape matching using symmetry sets Ä The Symmetry Set is the closure of the collection of points which are the centers of circles tangent to the shape at at least two points. Ä The Medial Axis is its subset containing only the maximal circles. Ä The Pre-Symmetry Set is the closure of the collection of points at which there are circles tangent to the shape at at least two points. Ä In the Gauss Diagram, the circle and the cords represent the diagonal of the pre- Symmetry Set and the length of the branches, respectively. FB Informatik GRIS Praktikums-Container WS 2009/2010 28
Symmetry Set based shape matching Ä These curves are obtained as the boundaries of regions: the zero-crossings. 1. 0.6615 0.5998 0.5778 0.5596 0.5564 0.5546 Ä So match these black & white regions 1. 0.6037 0.5859 0.5826 0.567 0.56 0.5577 1. 0.5822 0.5087 0.5072 0.5062 0.478 0.4677 1. 0.5544 0.5463 0.5413 0.5405 0.5364 0.525 1. 0.6702 0.6203 0.6102 0.5934 0.576 0.56 1. 0.6492 0.6126 0.5835 0.5413 0.5217 0.4974 1. 0.8014 0.7773 0.7205 0.6438 0.6094 0.5926 1. 0.8663 0.8014 0.7965 0.6458 0.5592 0.551 1. 0.8193 0.7764 0.7435 0.7027 0.7006 0.6888 1. 0.5775 0.5494 0.5418 0.5004 0.4915 0.4872 1. 0.8402 0.7805 0.7764 0.6788 0.6595 0.6576 1. 0.6763 0.6466 0.6126 0.5822 0.5775 0.567 1. 0.6861 0.678 0.6619 0.6595 0.6566 0.6395 1. 0.8402 0.7532 0.7435 0.6566 0.6299 0.6254 1. 0.5999 0.5494 0.4978 0.4878 0.4639 0.4493 1. 0.8129 0.7085 0.7027 0.6955 0.678 0.6453 1. 0.6853 0.6656 0.576 0.5577 0.5456 0.5123 1. 0.8059 0.7965 0.7205 0.6761 0.5546 0.5536 1. 0.6763 0.5835 0.5206 0.5123 0.5062 0.491 1. 0.6761 0.6616 0.6615 0.6458 0.6438 0.5788 1. 0.6492 0.6466 0.5364 0.5006 0.491 0.4872 1. 0.6366 0.6195 0.596 0.594 0.5833 0.5811 1. 0.5999 0.5006 0.5004 0.4971 0.459 0.4485 1. 0.6745 0.6366 0.597 0.5942 0.5901 0.5677 1. 0.9183 0.6853 0.6102 0.6075 0.5826 0.5183 1. 0.8129 0.7006 0.6861 0.6788 0.6708 0.6527 1. 0.6702 0.6583 0.5172 0.5156 0.4891 0.4878 1. 0.8193 0.7805 0.7532 0.7085 0.6708 0.6565 1. 0.6583 0.6368 0.6075 0.6037 0.5934 0.5217 1. 0.6888 0.6576 0.6565 0.6453 0.6287 0.6195 1. 0.9183 0.6656 0.6368 0.6203 0.5859 0.5463 1. 0.6955 0.6745 0.6527 0.6364 0.632 0.6155 Ä Clustering bitmap RNA shapes Ä (2 main classes) FB Informatik GRIS Praktikums-Container WS 2009/2010 29
Practicum Tasks: These examples work but only in Mathematica and they are very slow with proper implementation they can be made much faster FB Informatik GRIS Praktikums-Container WS 2009/2010 30
Themen im Überblick Ä Hybrides Rendering mit VTK (S. Wesarg) Ä Visualisierung von Formvariationen (M. Kirschner) Ä Programmierung von Graphlayoutalgorithmen + Programmierung von Clusteringalgorithmen (T. v. Landesberger) Ä Bio-Explorer + GUI für ixsom (S. Bremm) Ä Open Art Library (M. Scherer) Ä Image denoising and CUDA (Qi Gao) Ä Multi-core platforms and CFD (A. Binotto) Ä Shape and symmetry (A. Kuijper) FB Informatik GRIS Praktikums-Container WS 2009/2010 31
Individuelle Absprachen Ä JETZT! FB Informatik GRIS Praktikums-Container WS 2009/2010 32