1 / 7

4.2.1 Programming Models

4.2.1 Programming Models. Technology drivers Node count, scale of parallelism within the node Heterogeneity Complex memory hierarchies Failure rates Adaptive computations, massively parallel I/O New application domains; new programming languages. 4.2.1 Programming Models.

gsteger
Télécharger la présentation

4.2.1 Programming Models

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 4.2.1 Programming Models • Technology drivers • Node count, scale of parallelism within the node • Heterogeneity • Complex memory hierarchies • Failure rates • Adaptive computations, massively parallel I/O • New application domains; new programming languages

  2. 4.2.1 Programming Models • Alternative R&D strategies • Uniform vs. hybrid programming models • MPI 7.0, OpenMP 5.0, or revolutionary approaches • Domain specific vs. general PMs • Recommended research agenda • Explore enhancements to existing models • Revolutionary approach with interoperability to existing models

  3. 4.2.1 Programming Models • Crosscutting considerations • Architectures • Algorithms and applications • Libraries • Massively parallel I/O • Compilers and their runtime systems • Tools: • performance, debugging, application creation • User annotations: • information to support translation, drive tools

  4. Priority Research Direction: Programming Models (PM) Key challenges Summary of research direction Extreme scale of parallelism (Exascale and beyond) Diversity, heterogeneity of architectures/hardware Complex memory hierarchy Productivity of the programmer vs. performance Interoperability (with legacy code) Multiple PMs: uniform, hybrid; high-level; new, PGAS, MPI, OpenMP, other; application-area specific PMs Expressive ways to describe parallelism and locality in PMs Fault tolerance/awareness at PM level Implementation (compiler, runtime) technology Application development tools Potential impact on software component Potential impact on usability, capability, and breadth of community Enabler of application development, library creation on new systems Productive programming models are essential for uptake of exascale systems Enhancements to existing models may have impact in a few years Implementation and support tools needed for this to have major Impact

  5. 4.X Programming Models <single short description of the area> Exascale programming model(s) adopted Exascale programming models implemented Standard programming model for heterogeneous nodes Your Metric Fault-tolerant MPI Candidate exascale programming models defined Interoperability among existing programming models System-wide high-level programming model 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019

  6. Priority Research Direction: Compilers Key challenges Summary of research direction New programming languages, Interoperability (with old legacy code) Productivity and performance Hardware: heterogeneity, complex memory hierarchy, hardware faults Adaptive extreme-scale parallelism Translate new languages Powerful optimization frameworks; new optimizations, including power Automatic parallelization Enable interactions between compiler and development and execution environment; standard interfaces Dynamic (re-)optimization; support for autotuning Potential impact on software component Potential impact on usability, capability, and breadth of community Higher level of automation will reduce program development effort and help exploit architecture Adaptive applications can be efficiently run Compiler can make tools more powerful; tools may improve compiler translation Some impact in near term as compiler-tools interactions are defined; continuous improvements in technology are possible

  7. 4.x Compilers <single short description of the area> Compiler support for hybrid programming model Exascale programming models implemented Standard heterogeneous programming model implemented Exascale programming environment deployted Your Metric Initial compiler – tools interfaces defined System-wide high-level programming model implementation Compiler supports MPI implementation 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019

More Related