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.
*The research is supported by the Perimeter Institute for Theoretical Physics. Research at Perimeter Institute is supported by the Government of Canada through Industry Canada and by the Province of Ontario through the Ministry of Research and Innovation.
–
Presenters
-
Erik Schnetter
- Perimeter Institute for Theoretical Physics