Anshu Dubey

Anshu Dubey is a senior computational scientist at the U.S. Department of Energy’s (DOE) Argonne National Laboratory. She received her Ph.D. in computer science from Old Dominion University in 1993. After working as a research scientist at the University of Chicago, as associate director and applications group leader at the ASC/Flash Center at the University of Chicago and as a computer systems engineer at DOE’s Lawrence Berkeley National Laboratory, Dubey joined the Mathematics and Computer Science division at Argonne in 2015. Her research is interdisciplinary, with an emphasis on the use of high-performance computing software for scientific applications — most notably for the FLASH and Flash-X multiphysics simulation codes. Moreover, she has applied her expertise to the critical issue of software productivity and sustainability in high-performance computing


Title: Modernization and Optimization of Legacy Simulation Codes with AI Assistance

Abstract:

Legacy scientific software is often characterized by tightly coupled, non-modular designs with complex interdependencies that have accumulated over time. As computing platforms become increasingly heterogeneous and hierarchical, a more desirable software architecture is one based on composable, encapsulated components. Achieving this transformation, however, is difficult because pervasive dependencies prevent clean separation of functionality.

A key observation about scientific computing software is that its conceptual core consists of numerical algorithms that are mathematically sophisticated but logically simple, typically expressed as arithmetic operations on well-defined data structures. Much of the software complexity arises not from the mathematics itself, but from data marshalling, orchestration, and interactions among software components. To exploit this observation, I have been exploring a refactoring methodology in which arithmetic expressions and references to data structures are first transformed into macros embedded within the source code. By rendering the numerical computations effectively invariant with respect to the surrounding implementation, it becomes significantly easier to experiment with alternative code organizations, data layouts, and software architectures without altering the underlying numerical algorithms. A second essential step toward creating self-contained software components is the elimination of global variables, allowing individual solvers to become independently reusable and composable.

Both of these transformations are well suited to AI-assisted automation. In this presentation, I will describe an AI-agent-based methodology for modernizing legacy scientific software, illustrating how specialized agents can systematically perform these refactoring tasks. I will present the overall approach together with a representative use case developed in collaboration with my colleagues, demonstrating how AI can help transform monolithic legacy applications into modular software better suited for future high-performance computing systems.