Better Performance

Approaches for developing code that is efficient, scalable, and portable—from laptops to emerging extreme-scale architectures.

Achieving good performance of CSE code requires attention to both efficiency (use of appropriate algorithms and data structures for target problems and architectures, impacting the speed of runtime execution) and scalability (as computing resources increase, solving a fixed-sized problem faster and/or handling larger problem sizes). However, focus on performance can have detrimental effects on other software quality metrics such as correctness, portability, and usability. We provide information to help to improve performance while considering software design, practices, and processes that enable the preservation of other quality metrics.

See Resources: Better Performance

Better Performance Topics

Performance Portability

Software exhibiting similar performance across multiple platforms, with the time to solution reflecting efficient utilization computational resources on each platform.

See Resources: Performance Portability

High Performance Computing (HPC)

The practice of aggregating computing power in a way that delivers much higher performance than one could get out of a typical desktop computer or workstation in order to solve large problems, often in science and engineering.

See Resources: High Performance Computing (Hpc)

Performance At Leadership Computing Facilities (LCFs)

Factors that must be considered when developing software for the leadership-class supercomputers, among the fastest computers in the world.

See Resources: Performance At Leadership Computing Facilities (Lc Fs)