Category Theory for HPC Software Engineering

ORAL

Abstract

Most, if not all, current numerical relativity codes model general relativistic concepts at a very low level: Concepts such as "manifold", "vector space", or "basis" are not rigorously defined in the code and are only expressed via low-level mechanisms such as "array", "loop", or "index". This makes it tedious to express physics concepts (such as the Einstein equations) in a code, and implementations then fail to be sufficiently generic. At the same time, modern computing hardware is becoming more complex, and respective necessary code optimizations are difficult to express, further complicating the code and obscuring the physics.

I will give examples how certain concepts "stolen" from category theory can improve both code clarity and code performance, and will argue for a higher mathematical abstraction level in numerical software.

Presenters

  • Erik Schnetter

    Perimeter Institute for Theoretical Physics

Authors

  • Erik Schnetter

    Perimeter Institute for Theoretical Physics