
Ref. Ares(2016)1515677 - 30/03/2016 D3.1 Initial requirements analysis Project Acronym INTERTWinE Project Title Programming Model INTERoperability ToWards Exascale Project Number 671602 Instrument Horizon 2020 Thematic Priority FETHPC Due date M6 Submission date 31/MAR/2016 Project start date 01/OCT/2015 Project duration 36 months Deliverable lead UEDIN organization Version 1.2 Status Published Author(s) Mark Bull, UEDIN Daniel Holmes, UEDIN Olivier Aumage, INRIA Valeria Bartsch, Fraunhofer Mirko Rahn, Fraunhofer, Enrique S. Quintana, UJI Maksims Abalenkovs, Manchester Xavier Teruel, BSC Vicenç Beltran, BSC Reviewer(s) Roman Iakymchuk, KTH Enrique S. Quintana, UJI Copyright INTERTWinE Consortium 2016 D3.1 INITIAL REQUIREMENTS ANALYSIS Dissemination level PU Public Version History Version Date Comments, Changes, Status Authors, contributors, reviewers 0.1 25/11/15 Initial version Mark Bull 0.2 08/02/16 Including Inria/StarPU specific contents Olivier Aumage 0.3 08/02/16 Some document structure changes and Valeria Bartsch Fraunhofer specific contents 0.4 22/02/16 Manchester specific contents Maksims Abalenkovs 0.5 22/02/16 BSC and UJI specific contents Vicenç Beltran 0.6 22/02/16 Fixing document format and structure Xavier Teruel 0.7 29/02/16 Merge updates from EPCC and INRIA Mark Bull, Olivier Aumage 0.8 30/02/16 Merge update from Fraunhofer Valeria Bartsch 0.9 3/03/16 Merge input from BSC Vicenç Beltran 0.95 7/03/16 Add executive summary Mark Bull 0.97 7/03/16 Add introduction Vicenç Beltran 0.98 8/03/16 Added introductory paragraph on Maksims Abalenkovs PLASMA, DPLASMA, MKL; Corrected some typos 0.99 9/03/16 Section on PaRSEC + XYZ Maksims Abalenkovs interoperability has been added 1.0 10/03/16 Added missing material and updates, Mark Bull and overall revision 1.1 18/03/16 After review Mark Bull 1.2 22/03/16 Implement final changes Vicenç Beltran Copyright INTERTWinE Consortium 2015-2016 D3.1 INITIAL REQUIREMENTS ANALYSIS Table of Contents 1 EXECUTIVE SUMMARY ................................................................................................................... 2 2 INTRODUCTION ............................................................................................................................. 3 2.1 GLOSSARY OF ACRONYMS .................................................................................................................. 3 3 PROGRAMMING MODEL DESCRIPTION ......................................................................................... 5 3.1 DISTRIBUTED PROGRAMMING MODELS ................................................................................................. 6 3.1.1 MPI.......................................................................................................................................... 6 3.1.2 GASPI ...................................................................................................................................... 7 3.1.3 PaRSEC .................................................................................................................................... 8 3.2 SHARED MEMORY PROGRAMMING MODELS ........................................................................................... 8 3.2.1 OpenMP .................................................................................................................................. 8 3.2.2 OmpSs ..................................................................................................................................... 9 3.2.3 StarPU ..................................................................................................................................... 9 3.3 PARALLEL DENSE LINEAR ALGEBRA AND MATH LIBRARIES ........................................................................ 11 3.3.1 PLASMA ................................................................................................................................ 11 3.3.2 DPLASMA .............................................................................................................................. 11 3.3.3 MKL ....................................................................................................................................... 12 3.4 ACCELERATORS .............................................................................................................................. 12 3.4.1 CUDA ..................................................................................................................................... 12 3.4.2 OpenCL .................................................................................................................................. 12 3.4.3 Directive-based ..................................................................................................................... 12 4 INTEROPERABILITY BETWEEN PROGRAMMING MODELS............................................................. 13 4.1 MPI + GASPI ............................................................................................................................... 13 4.2 MPI + OPEN MP ........................................................................................................................... 13 4.3 MPI + OMP SS | STAR PU ............................................................................................................... 16 4.4 GASPI + OPEN MP ........................................................................................................................ 18 4.5 GASPI + OMP SS | STAR PU ............................................................................................................ 18 4.6 OMP SS + STAR PU ......................................................................................................................... 18 4.7 OPEN MP | STAR PU | OMP SS + OPEN CL | CUDA ............................................................................. 19 4.8 PLASMA + OPEN MP | OMP SS | STAR PU ........................................................................................ 19 4.9 PARSEC + STAR PU | OPEN MP | OMP SS | MPI ................................................................................ 19 4.9.1 StarPU ................................................................................................................................... 19 4.9.2 OpenMP/OmpSs ................................................................................................................... 20 4.9.3 MPI........................................................................................................................................ 20 4.9.4 Concluding Remarks ............................................................................................................. 20 5 CONCLUSIONS ............................................................................................................................. 21 6 REFERENCES ................................................................................................................................ 22 Index of Figures Figure 1: Task graph mapping on a heterogeneous platform. ....................................... 5 Figure 2: Conventional MPI communicator ................................................................. 15 Figure 3: Endpoints communicator.............................................................................. 15 Figure 4: MPI + OmpSs augmented interoperability .................................................... 17 Copyright INTERTWinE Consortium 2015-2016 D3.1 INITIAL REQUIREMENTS ANALYSIS 1 Executive Summary This document presents an initial requirements analysis for the project, whose purpose is to guide the initial directions taken by the work in the project. This analysis of requirements forms a key part of the project’s Ambition Plan, which will be completed by Month 9 (Milestone MS8). We expect further requirements to arise during the course of the project, both from the experiences gained with applications in WP5 and from the implementation work in WP4. We describe the current status of the programming models that the project is addressing, with particular attention to interoperability issues that are known, and which are under consideration by the relevant standards bodies and/or developer teams. We then consider the known pairwise interoperability issues between programming models, based on the experiences of project members as both application developers and model implementers, and of the wider communities of stakeholders in the models. For each pairwise interoperability case, we identify the areas that the project is capable of addressing. Copyright INTERTWinE Consortium 2015-2016 D3.1 INITIAL REQUIREMENTS ANALYSIS 2 Introduction The INTERTWinE project aims to improve the interoperability between different programming models to make the most of the first Exascale systems. Applications running on these systems will have to deal with a massively parallel and heterogeneous architecture with a complex memory hierarchy. Today, there is no single programming model that can deal with the challenging task of programming such a system in an efficient way. However, by carefully combining current programming models and parallel libraries we can leverage the best features of each one to address the challenging task of programming an Exascale system. The combination of several programming models is a well-known technique that has been successfully used on current HPC systems to improve the performance of many applications. However, most programming models have not been designed
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages25 Page
-
File Size-