Shortest-path and maximal independent set in PyKokkos

Date

2023-12

Authors

Mitchell, Olivia Zhuhe

Journal Title

Journal ISSN

Volume Title

Publisher

Abstract

There are a wide variety of platforms to choose from when deciding to write a parallel algorithm. The chosen platform has a great impact on how developers write and run their code. Incompatibility between platforms is a major problem: in order for a developer to change systems or devices they often must rewrite their program from scratch. PyKokkos is an alternative option to committing to a specific platform. It sits on top of the Kokkos framework that bridges the gap between various XPU devices. While Kokkos allows users to program parallel functions that can run expeditiously on both GPU and CPU in C++, PyKokkos also allows users to program in Python. Code written in PyKokkos has all the benefits of Python, while being both performant and portable. Presented here are two examples of graph algorithms implemented for the first time in PyKokkos (or in Python): a parallel Maximal Independent Set algorithm and a parallel Shortest Path algorithm using Lattice-Linear Predicate. These implementations showcase the versatility of PyKokkos, where it makes writing parallel operations simple and easy, while not sacrificing performance.

Description

LCSH Subject Headings

Citation