Task Based Programming for Processing in Memory HPC Clusters
David Krasowska, Northwestern University
Processing in Memory (PIM) is an accelerator emerging in many fields, offering significant potential for enhancing high-performance computing (HPC) applications. Effectively mapping an HPC application onto this architecture is challenging due to its unique instruction set, network topology, memory/cache layout, clock frequency, and programming model. In this poster, we focus on the UPMEM PIM solution, the first general-purpose open-source PIM solution.
Our primary objective is to integrate UPMEM PIM with HPC clusters by leveraging a well-vetted HPC runtime. Legion, a runtime system developed by collaborators at LANL, SLAC, NVIDIA, and Stanford University, uses data layout to schedule kernels onto a heterogeneous distributed HPC system. This poster presents our work on adding UPMEM PIM to the backend of the Legion runtime system.
We demonstrate the effectiveness of our integration by comparing it against hand-tuned solutions across a wide range of HPC-oriented benchmarks. Our expected results indicate significant improvements in performance and efficiency, highlighting the potential of PIM in optimizing HPC workloads.