Speaker
Description
Vector fields are ubiquitous mathematical structures in many scientific domains including high-energy physics where — among other things — they are used to represent magnetic fields. Computational methods in these domains require methods for storing and accessing vector fields which are both highly performant and usable in heterogeneous environments. In this paper we present covfie, a co-processor-aware vector field library developed by the ACTS community which aims to flexibly and performantly represent vector fields for a wide variety of scientific domains and across a range of programming platforms. To this end, we employ a compositional design philosophy which enables us to meet domain requirements through the composition of simple structures we refer to as vector field transformers. In this work, we detail the design and implementation of our library, and enumerate the different kinds of vector fields that our library supports. Furthermore, we evaluate the performance of our library using a mini-application that renders vector magnitudes of a slice of the ATLAS magnetic field on both an x86-based CPU platform and a CUDA-compatible GPGPU platform; through this mini-application, we demonstrate that different storage methods — all of which can be implemented using our library — can have a significant impact on the performance of client applications.
Significance
This talk is on a novel library with a novel design that has not been presented at ACAT or any other conference; it has only been presented internally. The library is of interest to a wide variety of experiments and applications, including track reconstruction, simulation, and fields other than HEP.
References
Not applicable.
Experiment context, if any | Developed in the context of the Acts project, and uses data from the ATLAS detector |
---|