Por favor, use este identificador para citar o enlazar este ítem:http://uvadoc.uva.es/handle/10324/29136
Multi-Device Controllers: A Library To Simplify The Parallel Heterogeneous Programming
HiPEAC 2017 Workshop on High-Level Parallel Programming for GPUs (HLPGPU)
Año del Documento
Universidad de Valladolid, Escuela de Ingeniería Informática
HiPEAC 2017 Workshop on High-Level Parallel Programming for GPUs (HLPGPU), Estocolmo, Suecia, Jan. 2017
Current HPC clusters are composed by several machines with different computation capabilities and different kinds and families of accelerators. Programming efficiently for these heterogeneous systems has become an important challenge. There are many proposals to simplify the programming and management of accelerator devices, and the hybrid programming mixing accelerators and CPU cores. However, the portability compromises in many cases the efficiency on different devices, and there are details about the coordination of different types of devices that should be still tackled by the programmer. In this work we introduce the Multi-Controler (MCtrl), an abstract entity implemented in a library, that coordinates the management of heterogeneous devices, including accelerators with different capabilities and sets of CPU-cores. Our proposal improves state-of-the-art solutions, simplifying the data partition, mapping, and transparent deployment of both, simple generic kernels portable across different device types, and specialized implementations defined and optimized using specific native or vendor programming models (such as CUDA for NVIDIA’s GPUs, or OpenMP for CPU-cores). The run-time system automatically selects and deploys the most appropriate implementation of each kernel for each device, managing the data movements, and hiding the launching details. Results of an experimental study with four study cases indicates that our abstraction allows the development of flexible and high efficient programs, that adapt to the heterogeneous environment.
MICINN (Spain) and ERDF program of the European Union: HomProg-HetSys project (TIN2014-58876-P), and COST Program Action IC1305: Network for Sustainable Ultrascale Computing (NESUS).
Propietario de los Derechos
Except where otherwise noted, this item's license is described as Attribution 4.0 International