Better Performance

Improving strategies for writing scientific software that is efficient, scalable, and portable—from laptops to emerging extreme-scale architectures—while preserving other code quality metrics such as correctness and usability.

See Resources: Better Performance

Better Performance Topics

High-Performance Computing (HPC)

The practice of aggregating computing power in a way that delivers much higher performance than one could achieve with 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

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

Performance Portability

Software exhibiting similar performance across multiple platforms, with the time to solution reflecting efficient utilization of computational resources on each platform. Resources address porting code to new architectures.

See Resources: Performance Portability

Cloud Computing

A computing paradigm that makes extensive use of virtualization and containerization to execute workloads in an elastic, on-demand manner (compare with the queue-based mechanisms typically used in high-performance computing environments). Cloud computing platforms are widely available as commercial offerings as well as in any institutional settings. Scientific uses of cloud computing are common, especially for low- to moderate-scale computing needs.

See Resources: Cloud Computing

Big Data

The analysis of large datasets poses challenges from both hardware and software perspectives. The rise of the use of machine learning and artificial intelligence in science is also fueling the growth in data volumes.

See Resources: Big Data