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 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.