← Back to NASA Technology Projects
Ecosystem for Early Feedback-Driven HEC Code Development
Completed
TRL 3 (started at 1, targeting 3)
Description
PerfDev is an intuitive, full featured and collaborative automated optimization and code analysis framework that promotes and enables on-the-fly performance optimization of advanced scientific applications to maximize code development and application efficiency. The PerfDev software development and optimization framework enables stateful runtime decomposition and passive exploration of code blocks. PerfDev will enable advanced parameter space exploration using deep learning. Instead of waiting to evaluate application performance at the end of a full development cycle, PerfDev will enable real-time performance feedback loops that facilitate the optimization of individual blocks of code as the application is developed or ported. The production PerfDev APIs will be integrated into multiple production environments (starting with Jupyter in Phase I), will support a range of performance metric tools and hardware (e.g., PAPI/perfcntr, SONAR, Caliper, etc.), and multiple compute languages (e.g., C/C++, Fortran, Python). Towards that goal, and in an effort to demonstrate the importance, feasibility and usability of the proposed framework, the Phase I effort will focus of the following objectives in order to develop a functional PerfDev prototype: Code Cell Identification and Automatic Modularization for NASA Applications: Defining application "code cells" is a key component to enable a PerfDev optimization analysis. The code cells are the fundamental unit of evaluation and analysis. Distributed PerfDev Checkpoint-Restart: Checkpoint-restart is a fundamental utility that enables the efficient execution and evaluation of system and application parameters during code development. During Phase I, we will integrate support for MPI-supported application level checkpointing into our C/C++ backend in the PerfDev prototype. PerfDev API for Automation Parameter Space Exploration: We will develop an API to enable passive automatic parameter space exploration of code cells.
Benefits
The PerfDev framework will be beneficial for optimization of HEC/HPC NASA applications that are being developed in C, C++, Fortran, Python and Perl. The tool will aid NASA while developing new applications and porting/optimizing existing applications for new and complex compute architectures. Software of potential interest to NASA include CFD, CSD, FEM, and other numeric simulation applications and libraries. PerfDev will also lead to an improved software development lifecycle that better meets the current high performance computing environment.
Many government agencies, university research groups, and industry researchers are utilizing high performance computing systems and face the same challenges in developing and optimizing codes for new and existing architectures. All of these sectors need an adequate tool to help in optimizing and porting applications to emerging high performing compute systems.
Details
| Technology area | Software, Modeling, Simulation, and Information Processing > Information Processing and Artificial Intelligence > Collaborative Science and Engineering |
| Program | Small Business Innovation Research/Small Business Tech Transfer (SBIR/STTR) |
| Lead organization | RNET Technologies, Inc., Dayton, OH |
| Start date | 2020-08-31 |
| End date | 2021-03-01 |
Project contacts
Listed on TechPort itself — the most direct way to ask about this specific project.
How to get involved
This is early/mid-stage (TRL 3) — the most realistic path in is NASA SBIR/STTR, which funds small businesses and research institutions to develop technology aligned with NASA's needs (equity-free, phased funding). Check whether a current SBIR/STTR solicitation topic overlaps with this project's technology area, or contact the project directly (above) to ask.
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.