The University of Texas at Austin
Towards automatic migration of sequential kernels : Numba to PyKokkos
Abstract
dc:description.abstractHigh performance computing (HPC) frameworks have notably been useful for scientific communities, however, for an average user, leveraging their power can prove to be challenging. Using these highly performant frameworks requires knowledge about computer architectures, familiarity with parallel programming, and getting across a steep learning curve. Recent work on PyKokkos has bridged this gap considerably by bringing HPC to Python. While PyKokkos provides remarkable performance, switching to it is non-trivial as PyKokkos follows a programming model that is different for an average Python user. It requires type annotations in kernels, and has a rigid resemblance to its parent, Kokkos's programming patterns. Numba, on the other hand, is a well known just-in-time (JIT) compiler for Python that is widely used. This work improves the usability and migration cost to PyKokkos by introducing a new tool -- Caramba. Caramba enables automatic PyKokkos kernel generation from Numba - instantly opening doors for hardware optimized parallel performance. We also add type propagation for kernel arguments in PyKokkos to allow Caramba to function statically. Finally, we evaluate the overhead and performance trade-off with the aforementioned features and show that it is negligible.
Degree
thesis:*- Name thesis:degree_name
- Master of Science in Engineering
- Level thesis:degree_level
- Masters
- Discipline thesis:degree_discipline
- Software Engineering
- Grantor
- The University of Texas at Austin
- Year dc:date.issued
- 2024
Author and committee
dc:creator, dc:contributor.*- Author dc:creator
-
- Naeem, Muhammad Hannan
- Advisors dc:contributor.advisor
-
- Biros, George
- Gligoric, Milos
Subjects
dc:subject × 4Rights
- Language dc:language.iso
- English
Identifiers
dc:identifier.*- Identifier URI
- https://doi.org/10.26153/tsw/59749
- OAI identifier oai:identifier
- oai:repositories.lib.utexas.edu:2152/132409