Programming Modern HPC Platforms 1: Task-based Parallel Programming for HPC 2: StarPU, A Unified Runtime for Heterogeneous Architectures Olivier Aumage, Team STORM Inria – LaBRI [email protected] ST RM Static Optimizations – Runtime Methods 1 Task-based Parallel Programming for HPC O.Aumage–JournéeRuntimes 2 1.1 Runtime Systems O.Aumage–JournéeRuntimes 3 Why use runtime systems for HPC applications? O.Aumage–JournéeRuntimes–1.Task-basedParallelProgramming 4 Graphics DirectX, Direct3D (Microsoft Windows) OpenGL Networking MPI (Message Passing Interface), Global Arrays GASPI / GPI-2 GASNet, CCI Distributed Shared Memory systems SHMEM I/O MPI-IO HDF5 libraries Database engines Examples of Runtime Systems O.Aumage–JournéeRuntimes–1.Task-basedParallelProgramming 5 Networking MPI (Message Passing Interface), Global Arrays GASPI / GPI-2 GASNet, CCI Distributed Shared Memory systems SHMEM I/O MPI-IO HDF5 libraries Database engines Examples of Runtime Systems Graphics DirectX, Direct3D (Microsoft Windows) OpenGL O.Aumage–JournéeRuntimes–1.Task-basedParallelProgramming 5 I/O MPI-IO HDF5 libraries Database engines Examples of Runtime Systems Graphics DirectX, Direct3D (Microsoft Windows) OpenGL Networking MPI (Message Passing Interface), Global Arrays GASPI / GPI-2 GASNet, CCI Distributed Shared Memory systems SHMEM O.Aumage–JournéeRuntimes–1.Task-basedParallelProgramming 5 Examples of Runtime Systems Graphics DirectX, Direct3D (Microsoft Windows) OpenGL Networking MPI (Message Passing Interface), Global Arrays GASPI / GPI-2 GASNet, CCI Distributed Shared Memory systems SHMEM I/O MPI-IO HDF5 libraries Database engines O.Aumage–JournéeRuntimes–1.Task-basedParallelProgramming 5 The Role(s) of Runtime Systems: Portability Control Adaptiveness Optimization Why use runtime systems for HPC applications? O.Aumage–JournéeRuntimes–1.Task-basedParallelProgramming 6 Control Adaptiveness Optimization Why use runtime systems for HPC applications? The Role(s) of Runtime Systems: Portability O.Aumage–JournéeRuntimes–1.Task-basedParallelProgramming 6
Description: