Peter Gottschling

Peter Gottschling Foto

Dr. Peter Gottschling
CEO and Founder


His Background:


His Work:

  • Core Developer of MTL4
    • Open-Source Edition
      • Data types
      • Algorithms
      • Krylov-Methods
    • Supercomputing Edition
      • Distributed Data + Operation
    • GPGPU
    • Multi-grid
    • New Architectures
  • Director of Software Research at Stillwater, Inc
  • Vice-chair of the programming language group in the German Institute for Standardization (DIN)
  • Head of German delegation in ISO C++ standardization committee
  • Founding member of scientific computing group of C++ standard committee
  • Research in concept-based programming languages                                     
  • Lecturer at TU Dresden
  • Author and co-author of scientific libraries: 
    • Parallel Boost Graph Library
    • Automatic differentiation Nested Graph Elimination Library (ANGEL)
    • ParGraph
    • Janus                                                                                                                                                                                                                                                                                                                                                                                                                              
      Dr. Peter Gottschling with Prof. Bjarne Stroustrup at the Conzept Workshop in Bergen, Norwegen.


 Finished Projects

  • The Parallel BGL builds on the Boost Graph Library (BGL), offering similar data structures, algorithms, and syntax for distributed, parallel computation that the BGL offers for sequential programs. The Parallel BGL is intended primarily as a research platform, to facilitate both experimentation with and comparison of parallel graph algorithms and to provide solid implementations for solving large-scale graph problems in other application areas.
  • ANGEL: EPSRC Project at University of Hertfordshire on stochastic algorithms for near-optimal pre-accumulation of Jacobian matrices in automatic differentiation (for introduction and overview of research activities see here). In addition to the theoretical research, he implemented the library ANGEL: Automatic differentiation Graph Elimination Library, which is today the only software that implements advanced elimination techniques, the complete set of heuristics, and pre-accumulation with simulated annealing. ANGEL is used by XAIF-based source-code transformation tools, which enables AD in C/C++ and Fortran/Fortran 90 programs.
  • ParGraph: is another Parallel Graph library using generic programming techniques. In contrast to the parallel BGL, the parallelism is expressed here in a more explicit way whereby low-level communication and synchronization details are efficiently handled by the library. This was a collaboration with Florian Hielscher from Technische Universität Berlin.
  • Janus is a C++ template library of distributed data structures and algorithms. It enables the fast and efficient implementation of grid and mesh-based scientific applications.  He was involved in its development while working at Fraunhofer FIRST.
  • DFG project: At the Federal Institute for Materials Research and Testing (BAM), he researched with Dr. Ralf Müller and Dr. Martin Gaber on the diffusion of water in silicate glasses and crystals. In addition to the better understanding of the physical processes, he developed a program that computed diffusion coefficients from the degassing behavior and examined the numerical stability of these calculations.



  • In the winter semester 2002/2003, he gave a course on Scientific Computing on Parallel Systems at the Technische Universität Berlin. His main target was to impart that good parallel programs require besides efficient parallelization fast algorithms and performance-tuned implementation. To practice the theories, parallel programming with message passing interface (MPI) was introduced and the students were requested to write programs on the PC cluster. As the students managed to program a parallel Jacobi solver for the Poisson equation at the end of the course, the class was considered very successfull. The content of the course (in English) can be found here. Last but not least, we wish to thank the scientists from NERSC for providing generously their slides from class CS 267 at UC Berkeley.
  • After a selection of topics from his class and results from his personal software development, Peter Gottschling gave a presentation (in a guest lecture) about "Graph Algorithms and Parallelism" in Prof. David Keyes's class APMA E4990y at Columbia University.
  • Prof. Andrew Lumsdaine and Dr. Gottschling gave together a lecture on Software Carpentry in the fall term 2005. The course material was mainly prepared by Prof. Gregory V. Wilson. There is a local copy of the lecture notes, "Version 1.3" as taught at IU and the current version as Greg Wilson teaches it now in Toronto.
  • In the spring term 2006, Dr. Gottschling taught "Scientific Computing", class P573, acting for Prof. Randy Bramley who was on his sabbatical year. The topics of this class are described here.
  • In cooperation with Prof. Karl Meerbergen, he taught Scientific Programming in C++ at Katholieke Universiteit Leuven (Belgium) in March 2008.
  • Since 2009, he teaches each winter semester an introductory C++ class tailored for scientists and engineers at the math department of TU Dresden.
  • Since 2010, he teaches each summer semester a class on mathematical software development.


© 2021 SimuNova UG