SC23 Proceedings

The International Conference for High Performance Computing, Networking, Storage, and Analysis

Workshops Archive

MPI-RICAL: Data-Driven MPI Distributed Parallelism Assistance with Transformers


Workshop: AI Assisted Software Development for HPC (AI4DEV)

Authors: Nadav Schneider and Tal Kadosh (Ben-Gurion University of the Negev, IAEC); Niranjan Hasabnis and Timothy Mattson (Intel Labs); Yuval Pinter (Ben-Gurion University of the Negev); and Gal Oren (Technion – Israel Institute of Technology)


Abstract: Message Passing Interface (MPI) plays a crucial role in distributed memory parallelization across multiple nodes. However, parallelizing MPI code manually, and specifically, performing domain decomposition, is a challenging, error-prone task. In this paper, we address this problem by developing MPI-RICAL, a novel data-driven, programming-assistance tool that assists programmers in writing domain decomposition based distributed memory parallelization code. Specifically, we train a supervised language model to suggest MPI functions and their proper locations in the code on the fly. We also introduce MPICodeCorpus, the first publicly available corpus of MPI-based parallel programs that is created by mining more than 15,000 open-source repositories on GitHub. Experimental results have been done on MPICodeCorpus and more importantly, on a compiled benchmark of MPI-based parallel programs for numerical computations that represent real-world scientific applications. MPI-RICAL achieves F1 scores between 0.87-0.91 on these programs, demonstrating its accuracy in suggesting correct MPI functions at appropriate code locations.





Back to AI Assisted Software Development for HPC (AI4DEV) Archive Listing



Back to Full Workshop Archive Listing