Skip to main content

CISE-ANR: SHF: Small: Generating Highly Performant Code via Polyhedral Compilation and Graph-based Learning

NSF

open

About This Grant

Due to the vast amounts of data and the growing adoption of Artificial Intelligence (AI) applications, there is an increasing demand for programs that can fully leverage the power of High-Performance Computing (HPC) systems. This project aims to develop a framework capable of automatically rewriting programs to run more efficiently on modern multicore and manycore architectures. The project’s novelties are its ability to gain a deeper understanding of complex programs by employing advanced machine learning techniques and ensuring the optimized program aligns with its intended functionality. By analyzing the syntax and structural design of programs, the proposed framework identifies tasks that can be executed in parallel, significantly improving performance and speed. This enables developers to identify optimization opportunities. As programs are transformed to become faster and more efficient, maintaining reliability is paramount. The framework validates that optimized versions produce results consistent with the original, ensuring trustworthiness, particularly in critical domains like scientific computing. The project's impacts are streamlining the scientific software development process, creating faster, more reliable, and purpose-driven programs, and supporting the growing demands of modern computing platforms and technologies. This project introduces a comprehensive framework for improving program performance and reliability by integrating advanced methods in program analysis, parallelization, and validation. The presented framework aims to both identify and generate parallel versions of sequential code. By employing a graph-based multimodal contrastive learning approach, it combines two views of a program: its graph representation using low level virtual machine (LLVM) intermediate representation based graphs and its textual representation from the original source code. Using Graph Neural Networks (GNNs) and Large Language Models (LLMs), the framework uniquely learns intrinsic parallel characteristics. It directly generates parallelized code, eliminating the need for additional data structures or manual annotations. To support parallelization and ensure robust code transformations, this project also focuses on understanding the underlying computations of a program. By leveraging neural architectures, it analyzes and classifies data flow graphs to comprehend program characteristics and generates extensive program variants to train the model. This method enhances the precision of detecting program clones and obfuscated transformations, which is crucial for identifying computational equivalence and guiding optimization decisions. Finally, the project also addresses the challenge of verifying the correctness of complex program transformations, particularly those involving reduction parallelization patterns. The reduction pattern, which leverages algebraic properties like associativity and commutativity, often results in transformations that cannot be directly validated using existing equivalence-checking methods. This module develops new polyhedral validation techniques to handle combinations of reduction parallelization and classical loop transformations (e.g., tiling, skewing, unrolling), ensuring the correctness and reliability of transformed programs. The project aims to advance the state of the art in automatic parallelization, program understanding, and transformation validation, providing a robust framework for optimizing and verifying modern software systems. This award reflects NSF's statutory mission and has been deemed worthy of support through evaluation using the Foundation's intellectual merit and broader impacts review criteria.

Focus Areas

machine learning

Eligibility

universitynonprofitsmall business

How to Apply

Funding Range

Up to $420K

Deadline

2028-04-30

Complexity
Medium
Start Application

One-time $749 fee · Includes AI drafting + templates + PDF export

AI Requirement Analysis

Detailed requirements not yet analyzed

Have the NOFO? Paste it below for AI-powered requirement analysis.

0 characters (min 50)