JIVe: Just in Time Verification for High Performance Compilers

co-PI
PI: Liyi Li (COM S)
co-PI: Ali Jannesari (COM S)

National Science Foundation Logo

 

   2422127

 

Modern scientific research relies on processing large amounts of data using programs that perform hundreds or thousands of operations in parallel. To make it easier to write these programs, scientists use tools called compilers that automatically translate ordinary, one-operation-at-a-time (sequential) programs into massively parallel ones. But these translations may be unreliable: Parallel programs are hard to understand and may suffer from unpredictable interactions. In addition, cutting-edge research in the field is leveraging large language models (LLMs) to generate parallel output, and these models come without any guarantees of correctness. This project aims to improve the reliability and the performance of parallelizing compilers by automatically checking that translated code has exactly the same functionality as the original code. This will involve precise modeling of the behavior of both sequential and parallel programs, developing a tool that can compare sequential and parallel programs, and mathematically proving that the tool’s output is always reliable. If a translation passes the check, the translated parallel code is guaranteed