NERSCPowering Scientific Discovery Since 1974

Using Application Proxies for Co-design of Future HPC Computer Systems and Applications

Sunday, Nov. 11

Michael A. Heroux - Sandia National Laboratory

Alice Koniges - NERSC / Lawrence Berkeley National Laboratory

David F. Richards - Lawrence Livermore National Laboratory

Richard F. Barrett - Sandia National Laboratory

Thomas Brunner - Lawrence Berkeley Livermore Laboratory



The computing community is in the midst of disruptive architectural changes. The advent of manycore and heterogeneous computing nodes, increased use of vectorization, light-weight threads and thread concurrency, along with concerns about energy and resilience, force us to reconsider every aspect of the computer system, software and application stack, often simultaneously. Application proxies have emerged as an important collection of tools for exploring this complex design space. In this tutorial we first present a broad overview of available application proxies including traditional offerings (NAS Parallel Benchmarks, High Performance Linpack, etc.) in order to provide proper context. We then focus on a new collection of proxies called compact apps and miniapps. These two tools have proven especially effective in the past few years since they permit a broader collection of activities, including completely rewriting them. This tutorial is designed for anyone interested in the design of future computer systems, languages, libraries and applications. Hands-on activities will include the ability for attendees to download, compile and run miniapps on their local machines. We will also provide access to NERSC resources and provide a web portal for modifying, compiling and running on a remote server.


  • SC12ProxyNovFinal.pdf | Adobe Acrobat PDF file
    This file contains the NERSC contribution to the SC12 Proxy App Tutorial