140 likes | 153 Views
Explore the history, simulations, and performance issues of the Parallel Ocean Program (POP) and its coupling with climate models. Learn about features like free surface, pressure-averaging, and state-of-the-art parameterizations. Discover the performance tools used to optimize load balancing, memory bandwidth, and more.
E N D
The Parallel Ocean Program (POP) and Coupled Climate Modeling with Particular Emphasis on Performance Tools and Whatever Else Comes To Mind The LANL POP Team B. Malone, R. Smith, M. Maltrud, P. Jones, J. Davis, J. Baumgardner, J. Dukowicz (ret)
POP History • Bryan-Cox z-level model • Advanced under DOE CCPP • Designed for parallel computers • Data-parallel, MPI, OpenMP/MPI • Introduced features like free surface, pressure-averaging, dipole grid,etc. • Added state-of-the-art parameterizations like GM, KPP • Publicly available (version 1.4.3) http://climate.acl.lanl.gov/models/pop
POP Simulations • High Resolution Simulations • Global 0.28, 0.1 • North Atlantic 0.4, 0.2, 0.1, 1/15
North Atlantic Series 0.1 0.2 0.4
POP Simulations • High Resolution Simulations • Global 0.28, 0.1 • North Atlantic 0.4, 0.2, 0.1, 1/15 • Coupled Simulations • NCAR CCSM • POP/CICE • CSU Geodesic
CCSM Coupled Model Land LSM NCAR/others Atmosphere CCM NCAR 7 States 10 Fluxes 6 States 6 Fluxes Once hour per per Flux Coupler NCAR/DOE hour Once 6 States 6 Fluxes 7 States 9 Fluxes 4 States 3 Fluxes 6 States 13 Fluxes day per Once per Once hour 6 Fluxes 11 States 10 Fluxes Ocean POP LANL Ice CICE LANL
Performance Issues • Memory Bandwidth • Operators (5pt, 9pt) • Array Syntax • No “kernel” • Message Passing • Latency with Implicit (PCG) Solver • Load Imbalance
POP OpenMP/MPI Hybrid • Sub-block decomposition • Domain decomposed into blocks sized for cache (or vector) • Land blocks eliminated • Remaining blocks distributed in load-balanced manner using a rake algorithm • Priorities can be set to maintain some locality during rake • Many blocks on each node provide OpenMP parallelism • Block loops at high level to amortize OpenMP overhead • Different block distribution used for barotropic solver to optimize for communication rather than load balance
…Phil’s Feeble Brain • Run time vs. compile time • Load imbalance • Really, really, really, really, really, stupid implementation of global reductions
Actual Performance • 0.1 Global
CCSM Coupled Model Land LSM NCAR/others Atmosphere CCM NCAR 7 States 10 Fluxes 6 States 6 Fluxes Once hour per per Flux Coupler NCAR/DOE hour Once 6 States 6 Fluxes 7 States 9 Fluxes 4 States 3 Fluxes 6 States 13 Fluxes day per Once per Once hour 6 Fluxes 11 States 10 Fluxes Ocean POP LANL Ice CICE LANL
Performance Tools • Load Balance • Visual Maps (XPVM, VAMPIR, etc) • Timing • Per processor/per thread • Routine/Line • Memory Bandwidth • Cache Misses, Loads/Stores • Automated