← Back to NASA Technology Projects
TAU Performance Engineering of HPC and AI Applications Programmed in Julia
Completed
Description
The increased complexity of exascale high-performance computing systems compared to previous generations creates difficulties in productively creating performant and portable scientific codes. At the same time, there is growing demand for techniques for memory-safe programming to increase confidence in correctness. One approach to solving these problems is the use of high-level programming languages designed specifically to target scientific computing. One such language is Julia, which has recently been gaining popularity in high-performance computing for government, academic and industrial uses. High-level Julia code is lowered to an LLVM intermediate language and then to native code, and may also incorporate native library code and be part of multi-language workflows. To get the best performance from Julia code requires performance tools capable of spanning these levels of abstraction. To address this problem, this project proposes to extend the TAU Performance System, a widely-adopted suite of HPC performance tools which currently targets primarily C, C++, Fortran and Python to additionally target Julia. Phase I activities will include evaluating and developing proof-of-concept implementations of Julia profiling support for CPU codes and GPU codes using an NVIDIA CUDA backend. Phase II will extend this to multiple GPU platforms and distributed computing models. The target market includes all organizations which develop scientific codes in Julia.
Benefits
The proposed project enhances TAU, which has previously been used for performance engineering of NASA codes in languages other than Julia, to support profiling of Julia codes and mixed-language codes which include Julia components. Recent publications indicate increasing adoption of Julia for NASA use cases, including for rocket flight simulation, processing of satellite Earth imagery, ocean systems simulations, and for processing of exoplanet imaging data. TAU with support for performance engineering of Julia codes will target these NASA use cases and any other non-real-time uses of Julia. Julia has seen adoption by non-NASA governmental agencies and in industry. Non-NASA government users include the Department of Energy, including its use in a reaction–diffusion system simulation by Oak Ridge National Laboratory. Commercial Julia products targeting industry include the drug design modeling tool Pumas, the industrial and automotive modeling tools JuliaSim and JuliaSim Batteries, and the analog circuit simulation tool Cedar EDA. Julia is in use in many industries, including the pharmaceutical, manufacturing, and financial sectors. Julia has grown in popularity, entering the top 20 languages in the TIOBE index in 2023. TAU with support for Julia will target performance engineering of scientific codes across all of these industries.
Details
| Technology area | Software, Modeling, Simulation, and Information Processing |
| Program | Small Business Innovation Research/Small Business Tech Transfer (SBIR/STTR) |
| Start date | 2025-09-29 |
| End date | 2026-03-27 |
Project contacts
Listed on TechPort itself — the most direct way to ask about this specific project.
How to get involved
This is a mature technology (TRL 7+) — the realistic path in is usually NASA's Technology Transfer Program: licensing an existing NASA patent, or a Space Act Agreement to use NASA facilities/expertise directly. NASA also runs a startup licensing program with no upfront fee for companies formed to commercialize a specific NASA technology.
None of these are guaranteed paths for this specific project — TechPort itself doesn't have an "apply" button. Reaching out to the contact(s) above with a specific question is usually the fastest way to find out what's actually open.