🤖 AI Summary
This work addresses the high cost and low efficiency associated with parallelizing and modernizing legacy scientific computing codes by proposing a structured AI agent approach. By integrating large language model agents, manual prompt engineering, and continuous integration—guided by human-provided examples, guaranteed buildability, and constrained dialogue scope—the method successfully refactored the 60,000-line single-threaded Fortran MPI code NMAP-RKPM into a C++ MPI tool with OpenMP support within two phases over several months. This effort demonstrates the feasibility and substantial effectiveness of a structured AI-assisted paradigm for large-scale high-performance computing (HPC) software modernization.
📝 Abstract
Modernization of legacy scientific codes is often necessary to keep up with the ever-evolving changes in the compute resource ecosystem. Parallelization and migration from poorly supported software ecosystems are two of the most time-consuming activities in the research software engineering field. This paper presents our experience in the successful, two-phase AI-assisted modernization of NMAP-RKPM, a roughly 60,000-line, 3D explicit solid mechanics physics engine based on the Reproducing Kernel Particle Method (RKPM). We converted this single-threaded, Fortran based MPI application into a OpenMP-parallel C++ based MPI tool in the span of a few months. While Large Language Model (LLM) based tools on their own proved inadequate, we developed a highly structured "hand-holding" agentic AI methodology, like providing manually created examples, ensuring continuous buildability and limiting session scope, that was instead highly effective. The paper provides both the AI-assisted steps that were successful and the problems that we had to overcome, alongside the reasoning behind the chosen path.