Specialties of CMM include geometric methods and software, mesh generation (meshing), geometry processing for medical simulation and generic programming.

Expertise of CMM

During my professional life, I have developed deep know-how in the fields of generic programming, mesh generation and geometric software, geometry processing for medical simulation and data-parallel programming, and would be happy to let you benefit from it!

Focus: Generic programming

Generic programming is a powerful paradigm for the development of algorithmic software which is enjoying increasing popularity. Since over 15 years I use and develop this method with a focus on geometric and mathematical software. Further information can be found on the background page on generic programming.

Selected publications and talks

  • Guntram Berti Generic programming for the rest of us. Talk at Meeting C++ 2013, Düsseldorf, 8.-9.11.2013
  • Guntram Berti GrAL - the Grid Algorithms Library. Future Generation Computer Systems, 22, pp. 110-122, (2006)
    A concise introduction into the ideas behind GrAL.
  • Guntram Berti A Generic Toolbox for the Grid Craftsman. In W. Hackbusch and U. Langer (Eds.), Proceedings of the 17th GAMM-Seminar Leipzig — Construction of Grid Generation Algorithms, Leipzig, 1.-3. Februar 2001. (2001)
    A somewhat more detailed presentation, with a worked-out application example from mesh generation.
  • Guntram Berti Generic Software Components for Scientific Computing. Dissertation, TU Cottbus, Fakultät für Mathematik, Naturwissenschaften und Informatik, 2000. (2000)
    My PhD thesis (ca. 250 pages) gives a comprehensive discussion of using generic progamming for geometric data structures and algorithms.

Focus: Geometric, mathematical and technical software, mesh generation

Software for mathematical and technical applications often has special demands on performance. For numerical methods, also aspects of accuracy and convergence come into play. Thus, the question which is the "best" algorithm often depends on the problem and ultimately on the anticipated input data. Despite these dependencies, we want to keep flexibility of the software as high as possible. As discussed above, generic programming is my method of choice to keep and raise flexibility and generality of software implementations. I believe that the mesh generator Mesh & More is a convincing example for the application of generic programming in this domain: Large parts of it a programmed in a completely dimension-independent way.

Selected publications

  • Guntram Berti Image-based unstructured 3D mesh generation for medical applications. In P. Neittaanmäki, T. Rossi, K. Majava, O. Pironneau (Eds.), European Congress on Computational Methods in Applied Sciences and Engineering ECCOMAS 2004. (2004)
    The paper explains the concepts of spacetree-based mesh generation and introduces the marching simplices algorithm. It shows how to use generic programming for dimension-independent implementations.
    Abstract   BibTeX   PDF  
  • Guntram Berti Flexible Mesh Generation for Segmented 2D and 3D Images Containing Multiple Materials. In T. M Buzug, K.-M. Sigl, J. Bongartz, K. Prüfer (Eds.), Proceedings of 2nd International Conference on Reconstruction of Soft Facial Parts (RSFP 2005), Remagen, 17.-19.03.2005. Luchterhand Verlag. (2007)
    This paper extends the spacetree-based approach to hybrid meshes and several materials.
    Abstract    Bibtex   PDF

Focus: Medical simulation

Medical simulation has the potential to become an integral part of clinical practise. It is a fascinating idea to try out surgeries or treatment on the computer before actually applying them. Many of these approaches are still in research stage, but their principal usefulness seems evident to me.

In a number of research projects (@neurIST, Coast, GEMSS, SimBio) I have worked intensively on the problem of geometry processing from medical image data. One of the main problems is the transformation of the fuzzy, ill-defined geometry definition of the image data (like CT, MRT) into models suitable for numerical simulation. CMM is continuing research in this field.

Selected publications

  • Guntram Berti, Guy Lonsdale, Jens Georg Schmidt, Siegfried Benkner, D. Rodney Hose, John W. Fenner, David M. Jones, Stuart E. Middleton, Gert Wollny Grid Simulation Services for the Medical Community. International Journal of Computational Methods, 5, no. 2, S. 289-317. (2008)
    This paper gives a nice overview over the different pilot applications of the EU-project GEMSS, among them the facial surgery prediction, which was developed jointly with Jens Georg Schmidt and Gert Wollny.
    Abstract    Bibtex   PDF  
  • Jens Georg Schmidt, Guntram Berti, Jochen Fingberg, Junwei Cao, and Gert Wollny 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 (Eds.), European Congress on Computational Methods in Applied Sciences and Engineering ECCOMAS 2004. (2004)
    This paper contains more detailed information on the facial surgery simulation for cleft lip and palate patients.
    Abstract   BibTeX   PDF

Focus: (Data-)parallel programming

Until a few years ago, data-parallel programming was a topic mostly for a relatively small circle of experts from high-performance computing. With the era of automatic performance increases by higher CPU clock rates coming to an end, and the beginning spread of multi-core CPUs, parallel programming is on everybody's plate. In addition, the era of high-performance computing certainly is not over, and many applications and users would benefit from being able to use high-performance platforms (which covers more than just the Top500 list).

Typically, most performance can be gained when executing the same algorithm on many data items, as for instance in image processing or numerical simulation. The implementation however can be technically demanding: Data has to be partitioned evenly to compute resources, results have to be synchronised regularly, and data access across memory boundaries has to be organised in an efficient way. Again, generic programming can help be encapsulating repeated patterns into generic and universal components. Please check also my relevant case studies, e. g. on vectorization of a real-time signal processing application and parallelization of a flow simulation.

Selected publications and talks

  • Guntram Berti Generic Parallel Programming Talk at Meeting C++ 2014, Berlin, 5.-6.12.2014
  • Guntram Berti Generic programming support for mesh partitioning based parallelization. In Jörg Striegnitz and Kei Davis (Eds.), 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)
    This paper shows exemplary the use of generic programming for encapsulating the technical details of partitioned, distributed meshes and algorithms working on them.
    Abstract   BibTeX   PDF  
  • Guntram Berti, Jesper-Larsson Träff 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)
    We investigate, how heterogeneous (e.g. hierarchical) hardware and complex applications with non-regular communication structure can co-exist, and which requirements result for parallel system software like schedulers and communication libraries.
    Abstract    Bibtex    PDF

More publications

You have still questions? You can find a complete list on my publications page. Or just ask me!