Fachliche Schwerpunkte von CMM
Im Laufe meines beruflichen Werdegangs habe ich in den Bereichen generische Programmierung, Gittergenerierung und geometrische Software, medizinische Simulation und datenparallele Programmierung vertieftes Know-How erworben, das ich mit Freude zum Nutzen meiner Kunden einsetze!Generische Programmierung
Generische Programmierung ist ein mächtiges Paradigma für die Entwicklung algorithmischer Software, das sich zunehmender Beliebtheit erfreut. Ich entwickele diese Methode seit über 15 Jahren weiter, insbesondere im Bereich geometrischer und mathematischer Software. Mehr dazu finden Sie auf meiner Hintergrund-Seite zur generischen Programmierung.Ausgewählte Publikationen und Vorträge
- Generic programming for the rest of us. Vortrag beim Meeting C++ 2013, Düsseldorf, 8.-9.11.2013
-
GrAL - the Grid Algorithms Library.
Future Generation Computer Systems, 22, pp. 110-122,
(2006)
Eine kompakte Übersicht über die Ideen hinter GrAL.
-
A Generic Toolbox for the Grid Craftsman.
In W. Hackbusch und U. Langer (Hrsg.),
Proceedings of the 17th GAMM-Seminar Leipzig —
Construction of Grid Generation Algorithms, Leipzig, 1.-3. Februar 2001.
(2001)
Eine etwas ausführlichere Darstellung, mit einem ausgearbeiteten Anwendungsbeispiel aus dem Bereich der Gittergenerierung
-
Generic Software Components for Scientific Computing.
Dissertation, TU Cottbus, Fakultät für Mathematik, Naturwissenschaften und Informatik, 2000.
(2000)
Die Dissertation (ca. 250 Seiten) gibt einen umfassenden Einblick in die Anwendung der generischen Programmierung auf geometrische Datenstrukturen.
Geometrische und mathematisch-technische Software, Gittergenerierung
Software für mathematisch-technische Anwendungen hat oft besondere Anforderungen an die Performance. Zudem kommen bei numerischen Verfahren Aspekte der Genauigkeit und Konvergenz ins Spiel, sodass die Frage nach dem "besten" Algorithmus oft vom Problem und damit von den Eingabe-Daten abhängt. Generische Programmierung ist ein Ansatz, die Flexibilität der Software trotzdem zu erhalten und zu vergrößern; ein überzeugendes Beispiel dafür ist der Gittergenerator Mesh & More.Ausgewählte Publikationen
-
Image-based unstructured 3D mesh generation for medical applications.
In P. Neittaanmäki, T. Rossi, K. Majava, O. Pironneau (Hrsg.),
European Congress on Computational Methods in Applied Sciences and Engineering ECCOMAS 2004.
(2004)
Dieser Artikel erläutert den wesentlichen Ansatz der spacetree-basierten Gittergenerierung und führt den marching simplices Algorithmus ein. Er zeigt auch auf, wie die Algorithmen mit generischer Programmierung weitgehend dimensions-unabhängig implementiert werden können.
-
Flexible Mesh Generation for Segmented 2D and 3D Images Containing Multiple Materials.
In T. M Buzug, K.-M. Sigl, J. Bongartz, K. Prüfer (Hrsg.), Proceedings of 2nd International Conference on Reconstruction of Soft Facial Parts (RSFP 2005), Remagen, 17.-19.03.2005. Luchterhand Verlag.
(2007)
Dieser Artikel erweitert den spacetree-basierten Ansatz auf hybride Gitter und mehrere Materialien.
Medizinische Simulation
Medizinische Simulation hat das Potential, ein wichtiger Bestandteil der klinischen Praxis zu werden. Die Idee, Operationen oder Behandlungen zuvor am Computer patientenspezifisch "auszuprobieren", ist faszinierend. Viele dieser Ansätze befinden sich zur Zeit noch im Forschungsstadium, aber ihre prinzipielle Nützlichkeit steht außer Frage.
Ich habe an einer Reihe von Forschungsprojekten in diesem Gebiet mitgearbeitet (@neurIST, Coast, GEMSS, SimBio) und mich dort intensiv mit der Frage der Geometrie-Aufbereitung aus medizinischen Bilddaten befasst. Eine der Hauptschwierigkeiten liegt hier darin, die unscharfe Geometriedefinition der Bilddaten (etwa CT, MRT) in geeignete Modelle für die numerische Simulation zu überführen. CMM ist auf diesem wichtigen Gebiet weiter aktiv in der Forschung und Entwicklung.
Ausgewählte Publikationen
-
Grid Simulation Services for the Medical Community.
International Journal of Computational Methods, 5, no. 2, S. 289-317.
(2008)
Dieser Artikel gibt eine schöne Übersicht über die verschiedenen Prototyp-Anwendungen der medizinische Simulation, die im EU-Projekt GEMSS untersucht wurden, darunter auch die Gesichtschirurgie-Anwendung, die zusammen mit Jens Georg Schmidt und Gert Wollny entwickelt wurde.
-
A Finite-Element based Tool Chain for the Planning and Simulation of Maxillo-Facial Surgery.
In P. Neittaanmäki, T. Rossi, K. Majava, O. Pironneau (Hrsg.),
European Congress on Computational Methods in Applied Sciences and Engineering ECCOMAS 2004.
(2004)
Ausführlichere Information zur Simulation von Gesichts-Chirurgie bei Gaumen-Lippen-Kiefer-Spalte.
Datenparallele Programmierung
Bis vor einigen Jahren war (daten-)parallelele Programmierung nur für einen kleinen Kreis von Experten aus dem HPC-Bereich ein Thema. Mit dem Ende der automatischen Performance-Steigerung durch höhere CPU-Taktraten und der beginnenden massenhaften Verbreitung von multi-core Rechnern wird die parallele Programmierung zunehmend ein Thema für jedermann. Die größten Performance-Gewinne winken, wenn auf vielen Daten dieselben Algorithmen ausgeführt werden, etwa bei der Bildverarbeitung. Die Implementierung kann sich aber technisch schwierig gestalten, wenn die Daten angemessen aufgeteilt werden sollen und die Teilergebnisse zusammengeführt werden müssen, insbesondere wenn Datenzugriffe optimiert werden sollen. Auch hier kann die generische Programmierung wertvolle Hilfe leisten, indem sich wiederholende Muster generisch und universell wiederverwendbar implementiert werden. In diesem Zusammenhand sind auch die Fallstudien zur Vektorisierung einer Echtzeit-Signalverarbeitung und der Parallelisierung einer Strömungs-Simulation relevant.Ausgewählte Publikationen und Vorträge
- Generic Parallel Programming Vortrag beim Meeting C++ 2014, Berlin, 5.-6.12.2014
-
Generic programming support for mesh partitioning based parallelization.
In Jörg Striegnitz and Kei Davis (Hrsg.),
Proceedings of the Workshop on Parallel/High-Performance Object-Oriented Scientific Computing (POOSC'03),
number IB-2003-09 in NIC series, S. 15-30. Forschungszentrum Jülich.
(2003)
Dieser Artikel zeigt exemplarisch, wie man mit generischer Programmierung die technischen Feinheiten von partitionierten verteilten Gittern und der entsprechenden parallelen Algorithmen elegant kapseln kann.
-
What MPI could (and cannot) do for Mesh-partitioning on Non-homogeneous Networks.
In Proceedings of EUROPVM/MPI 2006, Bonn, 17.-20. September 2006. LNCS, Springer.
(2006)
In diesem Artikel wird untersucht, wie sich heterogene (z.B. hierarchische) Hardware und komplexe Anwendungen mit nicht-homogener Kommunikationsstruktur vertragen, und welche Anforderungen sich daraus an System-Software (Kommunikationsbibliotheken, Scheduler) ergeben.