Daniel Withopf

  • Robert Bosch GmbH

Daniel Withopf has been working on solving real-world problems with C++ in robotics and related fields for over 20 years. He currently is a Software Engineer at the German car supplier Bosch where he wrote and maintains an object tracking framework for self-driving car projects. While doing that he discovered novel ways how to leverage C++'s type system to create linear algebra and tracking code that is more expressive, easier to understand and less likely to contain errors.

Sessions

  • Compile-time Is the New Constexpr

    Intermediate
    Advanced
    Generic/Metaprogramming

    Classical C++ linear algebra libraries offer sparse matrix types where the sparseness is only known at run-time. At compile-time, some libraries also incorporate information about the matrix shape (upper/lower triangular, diagonal, symmetric) but not about sparsity. However, due to run-time / SIMD considerations these sparse matrix shapes are stored as a dense matrix meaning that 50% or more of the entries are trivially 0. While being potentially beneficial for run-time, this also introduces a significant memory overhead. In this talk, we will see how it is indeed possible to get a free lunch by combining memory efficiency with run-time efficiency. […]