4.2.1 Programming Models Technology drivers – Node count, scale of parallelism within the node –...
-
Upload
winifred-francis -
Category
Documents
-
view
214 -
download
1
Transcript of 4.2.1 Programming Models Technology drivers – Node count, scale of parallelism within the node –...
![Page 1: 4.2.1 Programming Models Technology drivers – Node count, scale of parallelism within the node – Heterogeneity – Complex memory hierarchies – Failure rates.](https://reader036.fdocuments.net/reader036/viewer/2022072015/56649ece5503460f94bdbdb8/html5/thumbnails/1.jpg)
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
![Page 2: 4.2.1 Programming Models Technology drivers – Node count, scale of parallelism within the node – Heterogeneity – Complex memory hierarchies – Failure rates.](https://reader036.fdocuments.net/reader036/viewer/2022072015/56649ece5503460f94bdbdb8/html5/thumbnails/2.jpg)
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
![Page 3: 4.2.1 Programming Models Technology drivers – Node count, scale of parallelism within the node – Heterogeneity – Complex memory hierarchies – Failure rates.](https://reader036.fdocuments.net/reader036/viewer/2022072015/56649ece5503460f94bdbdb8/html5/thumbnails/3.jpg)
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
![Page 4: 4.2.1 Programming Models Technology drivers – Node count, scale of parallelism within the node – Heterogeneity – Complex memory hierarchies – Failure rates.](https://reader036.fdocuments.net/reader036/viewer/2022072015/56649ece5503460f94bdbdb8/html5/thumbnails/4.jpg)
Priority Research Direction: Programming Models (PM)
Key challenges
Multiple PMs: uniform, hybrid; high-level; new, PGAS, MPI, OpenMP, other; application-area specific PMsExpressive ways to describe parallelism and locality in PMsFault tolerance/awareness at PM levelImplementation (compiler, runtime) technologyApplication development tools
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)
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 yearsImplementation and support tools needed for this to have major Impact
Summary of research direction
Potential impact on software component Potential impact on usability, capability, and breadth of community
![Page 5: 4.2.1 Programming Models Technology drivers – Node count, scale of parallelism within the node – Heterogeneity – Complex memory hierarchies – Failure rates.](https://reader036.fdocuments.net/reader036/viewer/2022072015/56649ece5503460f94bdbdb8/html5/thumbnails/5.jpg)
4.X Programming Models<single short description of the area>
Interoperability among existing
programming models
Fault-tolerant MPI
Standard programming model for
heterogeneous nodes
System-wide high-level programming model
Exascale programming models implemented
Exascale programming model(s) adopted
2010 2011 2012 2013 2014 2015 2016 2017 2018 2019
Your Metric
Candidate exascale programming models
defined
![Page 6: 4.2.1 Programming Models Technology drivers – Node count, scale of parallelism within the node – Heterogeneity – Complex memory hierarchies – Failure rates.](https://reader036.fdocuments.net/reader036/viewer/2022072015/56649ece5503460f94bdbdb8/html5/thumbnails/6.jpg)
Priority Research Direction: Compilers
Key challenges
Translate new languages Powerful optimization frameworks; new optimizations, including powerAutomatic parallelizationEnable interactions between compiler and development and execution environment; standard interfacesDynamic (re-)optimization; support for autotuning
New programming languages, Interoperability (with old legacy code)
Productivity and performance
Hardware: heterogeneity, complex memory hierarchy, hardware faults
Adaptive extreme-scale parallelism
Higher level of automation will reduce program development effort and help exploit architecture
Adaptive applications can be efficiently runCompiler 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
Summary of research direction
Potential impact on software component Potential impact on usability, capability, and breadth of community
![Page 7: 4.2.1 Programming Models Technology drivers – Node count, scale of parallelism within the node – Heterogeneity – Complex memory hierarchies – Failure rates.](https://reader036.fdocuments.net/reader036/viewer/2022072015/56649ece5503460f94bdbdb8/html5/thumbnails/7.jpg)
4.x Compilers<single short description of the area>
Compiler support for hybrid programming
model
Compiler supports MPI implementation
Standard heterogeneous programming model implemented
Initial compiler – tools interfaces defined
2010 2011 2012 2013 2014 2015 2016 2017 2018 2019
Your Metric
Exascale programming models implemented
System-wide high-level programming model
implementation
Exascale programming environment deployted