1 November 13, 2006 Performance Engineering Research Institute www.peri-scidac.org Scientific Discovery through Advanced Computation Performance Engineering Research Institute David H Bailey Lawrence Berkeley National Laboratory
1
November 13, 2006 Performance Engineering Research Institute www.peri-scidac.org
Scientific Discovery through Advanced Computation
Performance Engineering Research Institute
David H BaileyLawrence Berkeley National Laboratory
2
November 13, 2006 Performance Engineering Research Institute www.peri-scidac.org
Argonne National Laboratory
Lawrence Berkeley National Laboratory
Lawrence Livermore National Laboratory
Oak Ridge National Laboratory
Rice University
University of California at San Diego
University of Maryland
University of North Carolina
University of Southern California
University of Tennessee
Participating Institutions
3
November 13, 2006 Performance Engineering Research Institute www.peri-scidac.org
SciDAC
Scientific Discovery through Advanced Computation
DOE Office of Science’s path to Petascale computational science
Maximizing performance is getting harder: Systems are more complicated
O(100K) multi-core CPUsSIMD extensions
Codes are more complicatedMulti-disciplinaryMulti-scale
IBM BlueGene at LLNL
Cray Xt3 at ORNL
BeamBeam3D accelerator modeling
POP model of El Nino
4
November 13, 2006 Performance Engineering Research Institute www.peri-scidac.org
Example of the Challenge
Figure courtesy Roger Logan, LLNL
5
November 13, 2006 Performance Engineering Research Institute www.peri-scidac.org
SciDAC-1 PERC
Performance Evaluation Research Center (PERC)
Initial goal was to develop performance related toolsBenchmarksAnalysisModelingOptimization
Second phase refocused on SciDAC applications incl.Community Climate System ModelPlasma Microturbulence ProjectOmega3P accelerator model
6
November 13, 2006 Performance Engineering Research Institute www.peri-scidac.org
Some Lessons Learned
Performance portability is criticalCodes outlive machinesScientists can’t publish that they migrated code
Computational scientists were not interested in toolsThey wanted experts to work with themSuch experts are not scalable
7
November 13, 2006 Performance Engineering Research Institute www.peri-scidac.org
SciDAC-2 PERI
Performance Engineering Research Institute
Performance modeling of applicationsHow fast do we expect to go?
Automatic tuningLong term research goalRemove burden from scientific programmers
Application engagementNear-term impact on SciDAC applications
8
November 13, 2006 Performance Engineering Research Institute www.peri-scidac.org
Performance Modeling
Modeling is critical for automation of tuningNeed to know where to focus effort
Where are the bottlenecks?Need to know when we’re done
How fast can we hope to go?
Obvious improvements:Greater accuracyReduced cost
Modeling efforts contribute to procurements and other activities beyond PERI automatic tuning
9
November 13, 2006 Performance Engineering Research Institute www.peri-scidac.org
Performance Tuning
Humans have been doing this for 50 years
Compilers have been doing it statically for 40 years
Recent self-tuning libraries:PHIPAC, ATLAS, FFTW, SPIRAL, SPOOLES
Performance Engineering Research Institute goal:Automatic performance tuning of applications
10
November 13, 2006 Performance Engineering Research Institute www.peri-scidac.org
Automatic Performance Tuning of Scientific Code
Long-term goals for PERI
Automate the process of tuning software to maximize its performance
Reduce the performance portability challenge facing computational scientists.
Address the problem that performance experts are in short supply
Build upon forty years of human experience and recent success with linear algebra libraries
PERI automatic tuning framework
11
November 13, 2006 Performance Engineering Research Institute www.peri-scidac.org
Automatic Tuning Steps
Triage: where to focus effortSemantic analysis: traditional compiler analysisTransformation: code restructuringCode generation: domain specific codeOff-line search: empirical experimentsAssembly: choose the best componentsTraining runs: performance data for feedbackOn-line search: optimize long-running jobs
12
November 13, 2006 Performance Engineering Research Institute www.peri-scidac.org
Early Results
Empirical optimization of dense matrix-matrix multiplication (Hall, USC)
Empirical optimization of Madness kernel (Moore, UTK)
13
November 13, 2006 Performance Engineering Research Institute www.peri-scidac.org
PERI Portal
Automatic tuning is common goal of half-a-dozen research projects
No hope of actually integrating them into one systeme.g., Open64, SUIF, and ROSE compilers
Instead PERI will bring up a Web portal which will be our interface to application developers
There will often be “a man behind the curtain”Goal is research demonstration of capability
www.peri-scidac.org/portal
14
November 13, 2006 Performance Engineering Research Institute www.peri-scidac.org
Application Engagement
Application Engagement Work directly with DOE computational
scientists Ensure successful performance
porting of scientific software Focus PERI research on real problems
Application Liaisons Build long-term personal relationships
with PERI researchers and scientific code teams
Tiger Teams Focus on DOE’s highest priorities
SciDAC-2 INCITE
Maximizing scientific throughput
Optimizing arithmetic kernels
15
November 13, 2006 Performance Engineering Research Institute www.peri-scidac.org
Summary
SciDAC-2 Performance Engineering Research Institute
Performance modeling of scientific applications so we understand what performance is possible
Automatic performance tuning to alleviate computational scientists from this recurring problem
Near-term impact via direct engagement with SciDAC application teams