At CERN, the data from LHC collisions requires complex data types and functions to be processed. As a solution, the awkward-array library makes python implementation of these data types possible in a way which is portable to GPUs. Making this library work through C++ code would give it the ability to have precompiled C++ routines for faster implementation (past the initial load time) and later compatibility with vectorization primitives from C++ libraries.

As part of this project, I will be working on expanding the awkward-array python library to include C++ compatible functions using pybind11. This will entail creating compiled C++ code in the form of python extension modules to be an expansion of the already-existing package. The classes I will be writing will be C++/python versions of the classes which have been already written in the main directory of the awkward-array project.



Charles Escott


  • David Lange
  • Jim Pivarski