210 likes | 320 Views
Program Analysis and Tuning. The German High Performance Computing Centre for Climate and Earth System Research Panagiotis Adamidis. Climate Simulation. We use a computer model of the climate system
E N D
Program Analysis and Tuning The German High Performance Computing Centre for Climate and Earth System Research PanagiotisAdamidis
Climate Simulation We use a computermodel of the climate system • a computer program, which simulates an abstract model (mathematical representation) of the climate system • reproducing the relevant features based on • theoretical principles (e.g. laws of nature) • observed relationships
„Blizzard“ – IBM Power6 System • Peak performance: 158 TeraFlop/s (158 trillion floating point operations per second) • 264 IBM Power6 nodes • 16 dual core CPUs per node (altogether 8,448 compute cores) • more than 20 TeraByte memory • 7,000 TeraByte of disk space until 2011 • Infiniband network: 7.6 TeraByte/s (aggregated) High performance computing system „Blizzard“ at DKRZ - compute nodes (orange), infiniband switch (red), disks (green)
Hybrid World Node OpenMP OpenMP OpenMP Message Passing
Parallel Compiler • Why can’t I just say f90 –Parallel mycode.f and everything works fine ? • Logical dependencies • Data dependencies
Multiprocessor – Shared Memory CPU CPU CPU CPU Network Memory Module Memory Module Memory Module Memory Module
Concepts - Shared Memory Directives Master Thread Single Process Team of Threads Parallel Region Master Thread Single Process Team of Threads Parallel Region Master Thread Single Process
Hybrid World Node OpenMP OpenMP OpenMP Message Passing
Processes und Threads OpenMP OpenMP Message Passing
„Blizzard“ – IBM Power6 System • Peak performance: 158 TeraFlop/s (158 trillion floating point operations per second) • 264 IBM Power6 nodes • 16 dual core CPUs per node (altogether 8,448 compute cores) • more than 20 TeraByte memory • 7,000 TeraByte of disk space until 2011 • Infiniband network: 7.6 TeraByte/s (aggregated) High performance computing system „Blizzard“ at DKRZ - compute nodes (orange), infiniband switch (red), disks (green)
Bottlenecks • Bottlenecks of Massively Parallel Computing Systems • Memory Bandwidth • Communication Network • Idle Processors
Hybrid World Node OpenMP OpenMP OpenMP Message Passing
Memory Module Memory Module CPU CPU The World of MPI CPU CPU Network
Processes und Threads OpenMP OpenMP Message Passing
Motivation • Improvetheefficiencyof a parallel programrunning on High Performance Computers • Typical Workflow • Development of a parallel Program • Measurement and Runtimeanalysis of the Code • Optimizing the Code
Performance Engineering • Profiling • Summarize performance data per process/thread during execution • „statistical“ Analysis • Tracing • Trace record with performance data and timestamp per process/thread • e.g. MPI messages
Optimization • Compilers cannot optimize automatically everything • Optimization is not just finding the right compiler flag • Major algorithmic changes are necessary