60 likes | 184 Views
Programming at Exascale. Michael Wolfe The Portland Group, Inc. April 2011. Node Socket Core Vector Pipeline Instruction. SSE. AVX. LRB. IF. IF. ID. ID. RF. RF. EX. EX. EX. EX. EX. EX. WB. WB. IF. ID. RF. EX. EX. WB. IF. ID. RF. EX. EX. EX. EX. WB. Now.
E N D
ProgrammingatExascale Michael Wolfe The Portland Group, Inc. April 2011
Node Socket Core Vector Pipeline Instruction SSE AVX LRB IF IF ID ID RF RF EX EX EX EX EX EX WB WB IF ID RF EX EX WB IF ID RF EX EX EX EX WB
Now Exascale coarrays, PGAS MPI Application Cilk OpenMP Compiler CUDA AVX IF IF ID ID RF RF EX EX EX EX EX EX WB WB IF ID RF EX EX WB IF ID RF EX EX EX EX WB
Performance Flexibility • Scalability • Dynamic parallelism • Composability • Productivity • Load balancing Parallelismexposeexpressexploit Locality Synchronization The Creative vs The Mechanical
Insufficient • Library implementation • Class libraries • Domain-specificlanguage • OpenCL
Requirements • Parallelism, Locality, Synchronization • Expressing the parallelism • Productivity • Error checking • Performance feedback • Scalability, up and down • multiple threads one thread • vector scalar • multicore vector • Dynamic parallelism • at every level • Composability • language definition, compiler analysis and optimizations • Self-Balancing • runtime introspection, workload redistribution • Resilience • redistributing the data and the computation • 5 • 4 • 7 • 7 • 8 • 6 • 3 • 4 • 3 • 0