Best Practice Guides
INTERTWinE Best Practice Guides address the challenges of programming model interoperability on exascale systems.
INTERTWinE is producing a series of Best Practice Guides, focusing on specific combinations of programming models and the interoperability challenges which these will present on the exascale systems of the near future. Best Practice Guides on the following topics are now available:
- OpenMP/OmpSs/StarPU + Multi-threaded Libraries Interoperable Programs
- MPI + OmpSs Interoperable Programs
- MPI + OpenMP Programming
- GASPI-MPI Interoperable Programs
We have also produced a brief Best Practice Guide for Minimising Gender Bias in HPC Training, which is equally applicable to training in most other fields too.
We will continue to add further Best Practice Guides to this page throughout the lifetime of the project.
This Best Practice Guide is aimed at application developers who plan to exploit task-parallelism from within a task-based runtime system concurrently with the use of a multi-threaded numerical library to execute the runtime tasks. In particular, the document pays special attention to the interoperability issues that arise due to oversubscription when exploiting thread-level parallelism simultaneously from within the task-based runtimes OpenMP/OmpSs/StarPU and the MKL numerical library from Intel. Read further details and download this Best Practice Guide.
OmpSs is a task-based parallel programming model based on tasks. This Best Practice Guide offers advice on programming hybrid applications using MPI + OmpSs and is aimed at application developers who are considering taking advantage of the multilevel parallelism offered by modern HPC systems using these two programming models (i.e. invoking MPI calls within asynchronous tasks). Read further details and download this Best Practice Guide.
Hybrid application programs using MPI + OpenMP are now commonplace on large HPC systems. This Best Practice Guide discusses the motivations for using this combination, as well as the possible downsides. It covers the technical details of thread support in the MPI library, and describes some different styles of MPI + OpenMP program and their relative advantages and disadvantages. It also provides some best practice tips for developers of hybrid MPI + OpenMP applications. Read further details and download this Best Practice Guide.
This document serves as a guide for application developers who are considering either complementing MPI with a Partitioned Global Address Space, or combining legacy MPI applications or libraries with (bundled) notified communication in PGAS, or complementing their MPI code with highly multithreaded communication calls. Read further details and download this Best Practice Guide.
This short Best Practice Guide is an aide-mémoire, to remind you of measures that should be taken to improve the accessibility of HPC training and to minimise the impact of real and perceived gender bias. It is written with INTERTWinE in mind, but is applicable to any HPC training courses, or indeed to any training courses in any subject area. Download this Best Practice Guide.