Skip to main content

Extensive USM3D Code Optimization Yields Significant Performance Improvement

The NAS Division's Application Performance and Productivity (APP) group completed an extensive and highly successful effort to optimize the USM3D code for calculating flows over complex geometries.

USM3D grid and pressure contours on a Boeing 777
Grid and pressure contours (108 million tetrahedral cells) on the Boeing 777 landing configuration, generated with the USM3D unstructured flow solver.

The APP team focused on three major areas of improvement in the code: raw application performance, code memory footprint, and input/output (I/O) performance limitations.

The original I/O approach limited problem sizes that could be run on NAS systems, and the group's optimization increased the executable problem size from just 40 million grid cells to 623 million cells. To achieve this increase, they rebuilt the solver and coefficient build routines, and reduced memory usage. Memory needs were reduced two-fold, allowing USM3D to run on NASA's 1 gigabyte-per-core RTJones and Pleiades supercomputers, with linear scaling.

The significant improvements made by the APP group to the USM3D code, often used to analyze aerodynamic flow of aerospace vehicle designs, translate to substantial savings in time and money by enhancing engineers' productivity. One such example is the creation of aerodynamic databases for next-generation space vehicles requiring thousands of flow solutions.