The documents distributed by this server have been provided by the
contributing authors as a means to ensure timely dissemination of
scholarly and technical work on a noncommercial basis. Copyright and all
rights therein are maintained by the authors or by other copyright
holders, notwithstanding that they have offered their works here
electronically. It is understood that all persons copying this
information will adhere to the terms and constraints invoked by each
author's copyright. These works may not be reposted without the explicit
permission of the copyright holder.

Abstract

Given the tremendous cost of an exascale system, its
architecture must match the requirements of the applications it is
supposed to run as precisely as possible. Conversely, applications
must be designed such that building an appropriate system
becomes feasible, motivating the idea of co-design. In this process,
a fundamental aspect of the application requirements are the
rates at which the demands for different resources grow as a
code is scaled to a larger machine. However, if the anticipated
scale exceeds the size of available platforms this demand can no
longer be measured. This is clearly the case when designing an
exascale system. Moreover, creating analytical models to predict
these requirements is often too laborious—especially when the
number and complexity of target applications is high. In this
paper, we show how automated performance modeling can be
used to quickly predict application requirements for varying
scales and problem sizes. Following this approach, we determine
the exascale requirements of five scientific codes and use them
to illustrate system design tradeoffs.