7
Domain Applications: Broader Community Perspective Mixture of apprehension and excitement about programming for emerging architectures

Domain Applications: Broader Community Perspective Mixture of apprehension and excitement about programming for emerging architectures

Embed Size (px)

Citation preview

Page 1: Domain Applications: Broader Community Perspective Mixture of apprehension and excitement about programming for emerging architectures

Domain Applications: Broader Community Perspective

• Mixture of apprehension and excitement about programming for emerging architectures

Page 2: Domain Applications: Broader Community Perspective Mixture of apprehension and excitement about programming for emerging architectures

MPI+OpenMP?Charm++?

MPI+CUDA?

MPI+OpenACC?X10?

Page 3: Domain Applications: Broader Community Perspective Mixture of apprehension and excitement about programming for emerging architectures

Domain Applications: Broader Community Perspective

• Mixture of apprehension and excitement about programming for emerging architectures

• Early adopters are the tip of the iceberg – how does this trickle down to the typical computational scientist?– What will be the analog(s) to MPI’s standardization of

the communicating sequential process programming model?

– “the MPI standard has been the most significant advancement in practical parallel programming in over a decade, and it is the foundation of the vast majority of modern parallel programs … MPI is evil … MPI’s success further stifled adoption of advanced parallel programming techniques” – Dunning, Harrison, and Nichols (2006).

Page 4: Domain Applications: Broader Community Perspective Mixture of apprehension and excitement about programming for emerging architectures

Domain Applications on Leadership-Class Platforms

• There is a healthy mix of:– Evolutionary porting* of today’s codes and algorithms to new

architectures, to stress limits of performance and scalability – Cross-platform comparison as proxies of future exascale

systems, with various node (complexity/heterogeneity of cores, memory bandwidth/complexity) and network (topology and performance) characteristics (and programming models)

– Revolutionary development of hybrid/hierarchical algorithms tailored to hybrid/hierarchical platforms (e.g. scale-bridging, process engineering examples)

*Often including significant rewrites, e.g. Fortran+PETSc C+MPI+X={OpenMP,CUDA} for GTC-P.

Page 5: Domain Applications: Broader Community Perspective Mixture of apprehension and excitement about programming for emerging architectures

Domain Applications – Common Themes (1/2)

• Importance of international collaborations– E.g., E8 exascale climate and fusion projects to tackle

shared societal (climate, energy) and technical challenges

• Continuing adoption of multiphysics* coupling in various domains*And multigrid, multiscale, multiprecision, etc.

• Need for performance measurement, analysis/visualization, and optimization tools appropriate to complexity (hierarchical compute & memory) and scale (millions to billions of threads, variability) of emerging systems

Page 6: Domain Applications: Broader Community Perspective Mixture of apprehension and excitement about programming for emerging architectures

Domain Applications – Common Themes (2/2)

• Increased computational power is needed to:– Improve physical fidelity, e.g. empirical force fields for

biomolecular & materials MD– Increase resolution, e.g. Earth system and industrial modeling– Increase time scales, e.g. protein folding, PIC convergence– Increase ensemble size, e.g. UQ and parameter/design space

exploration– Tackle non-traditional problems, e.g. computational systems

biology, integration of modeling & experiment (“Computational Steering 2.0”)

• Need to distinguish between “voracious” (more of same – just bigger & faster) vs. “transformational”.(achievement of major new levels of scientific understanding)

Page 7: Domain Applications: Broader Community Perspective Mixture of apprehension and excitement about programming for emerging architectures