Exascale Proxy Applications

In high performance computing (HPC), proxy applications (“proxy apps”) are
small, simplified codes that allow application developers to share important
features of large applications without forcing collaborators to assimilate
large and complex code bases. This website provides a common platform for HPC
researchers and users to explore and share proxy apps. This work is part of
the ongoing Exascale Proxy Applications Project that is part of the Exascale
Computing Project (ECP). For more information on ECP, please visit
exascaleproject.org.

Proxy Applications

Proxy apps are often used as models for performance-critical computations, but
proxy apps can do more than just represent algorithms or computational
characteristics of apps. They also capture programming methods and styles that
drive requirements for compilers and other elements of the tool chain. Within
ECP, application teams, co-design centers, software technology projects and
vendors all plan to use proxy apps as a major mechanism to drive collaborations
and co-design solutions for exascale challenges.

Proxy Application Standards and Suite

A major goal of the Exascale Proxy Applications Project is to improve the
quality of proxies created by ECP and maximize the benefit received from their
use. To accomplish this goal, an ECP proxy app suite composed of proxies
developed by ECP projects that represent the most important features
(especially performance) of exascale applications will be created. This suite
will be released and distributed through this webpage. To ensure
high quality of ECP proxy apps, we have defined standards for
documentation, build and test systems, performance models and evaluations, etc.
We will also provide templates and best practices for proxy developers to help
meet these standards.