Programming Systems Group
Exploring programming models, languages, and translation tools
Oak Ridge National Laboratory’s Programming Systems Group advances scientific computing by developing innovative software solutions that enable researchers to harness the power of diverse computing systems — from laptops to the world’s fastest supercomputers — with minimal programming effort. The group’s research combines AI, performance optimization, and portable programming models to create tools that help scientists solve complex problems more efficiently, thereby accelerating discoveries in fields ranging from physics and engineering to health care and climate science.
The group’s overall mission focuses on several key areas:
- Performance portability across different computing platforms
- Use of AI/ML to improve scientific computing
- User-friendly programming tools and frameworks
- Practical impact for scientific research
- High-performance computing systems
- Support for diverse scientific applications
The group is also pioneering innovative approaches to make advanced computing more accessible and efficient for scientists across disciplines. This work addresses a critical challenge in modern scientific research: how to help researchers effectively use increasingly complex computer systems, from ordinary laptops to the world’s most powerful supercomputers, without becoming programming experts.
The Programming Systems Group operates at the intersection of three main research areas. First, the group develops performance-portable software tools, including Julia for Accelerators (JACC) and the Intelligent Runtime System (IRIS), that allow scientific programs to run efficiently on many different types of computing architectures without requiring extensive code rewrites. For example, the JACC.shared technology achieved performance improvements of up to 3.5× over the previous state of the art for important scientific calculations by making better use of specialized computer memory while requiring minimal code changes.
Second, the group is exploring how AI can revolutionize scientific computing. Their groundbreaking work with ChatBLAS — the first AI-generated and portable Basic Linear Algebra Subprograms (BLAS) library — demonstrated that AI can generate high-performance mathematical software, and their research using GPT-3 showed promising results for automatically converting simple programs into versions that can run on advanced supercomputers. The group is also developing AI-powered systems such as AIRIS-X to help automatically optimize how scientific calculations are distributed across complex computer systems.
Third, the group is working to build better tools and communities to support scientific software development. Through initiatives such as the Better Scientific Software hub for scientific software development resources (BSSw.io) and their collaboration with the Consortium for the Advancement of Scientific Software, the group is helping to establish best practices and metrics for creating more sustainable scientific software. Additionally, the group is dedicated to the advancement of programming frameworks and compilers such as OpenMP, OpenACC, and LLVM to support Department of Energy science missions and the high-performance computing community at large.
The real-world impact of this work extends across multiple fields. For example, the group’s tools are being used to improve blood flow simulations for medical research, process data from advanced neutron science facilities, and accelerate physics experiments. Looking ahead, the group envisions a future in which scientists can focus more on their research questions and less on computing challenges, thanks to intelligent software systems that automatically adapt to whatever computing resources are available. Moreover, this work can accelerate scientific discoveries across many fields by helping to democratize access to advanced computing resources.