Controllers: An abstraction to ease the use of hardware accelerators. (November 2018)
- Record Type:
- Journal Article
- Title:
- Controllers: An abstraction to ease the use of hardware accelerators. (November 2018)
- Main Title:
- Controllers: An abstraction to ease the use of hardware accelerators
- Authors:
- Moreton–Fernandez, Ana
Ortega–Arranz, Hector
Gonzalez–Escribano, Arturo - Other Names:
- Balaji Pavan guest-editor.
Leung Kai-Cheung guest-editor.
Huang Zhiyi guest-editor.
García-Blas Javier guest-editor.
Brown Christopher guest-editor. - Abstract:
- Nowadays the use of hardware accelerators, such as the graphics processing units or XeonPhi coprocessors, is key in solving computationally costly problems that require high performance computing. However, programming solutions for an efficient deployment for these kind of devices is a very complex task that relies on the manual management of memory transfers and configuration parameters. The programmer has to carry out a deep study of the particular data that needs to be computed at each moment, across different computing platforms, also considering architectural details. We introduce the controller concept as an abstract entity that allows the programmer to easily manage the communications and kernel launching details on hardware accelerators in a transparent way. This model also provides the possibility of defining and launching central processing unit kernels in multi-core processors with the same abstraction and methodology used for the accelerators. It internally combines different native programming models and technologies to exploit the potential of each kind of device. Additionally, the model also allows the programmer to simplify the proper selection of values for several configuration parameters that can be selected when a kernel is launched. This is done through a qualitative characterization process of the kernel code to be executed. Finally, we present the implementation of the controller model in a prototype library, together with its application in severalNowadays the use of hardware accelerators, such as the graphics processing units or XeonPhi coprocessors, is key in solving computationally costly problems that require high performance computing. However, programming solutions for an efficient deployment for these kind of devices is a very complex task that relies on the manual management of memory transfers and configuration parameters. The programmer has to carry out a deep study of the particular data that needs to be computed at each moment, across different computing platforms, also considering architectural details. We introduce the controller concept as an abstract entity that allows the programmer to easily manage the communications and kernel launching details on hardware accelerators in a transparent way. This model also provides the possibility of defining and launching central processing unit kernels in multi-core processors with the same abstraction and methodology used for the accelerators. It internally combines different native programming models and technologies to exploit the potential of each kind of device. Additionally, the model also allows the programmer to simplify the proper selection of values for several configuration parameters that can be selected when a kernel is launched. This is done through a qualitative characterization process of the kernel code to be executed. Finally, we present the implementation of the controller model in a prototype library, together with its application in several case studies. Its use has led to reductions in the development and porting costs, with significantly low overheads in the execution times when compared to manually programmed and optimized solutions which directly use CUDA and OpenMP. … (more)
- Is Part Of:
- International journal of high performance computing applications. Volume 32:Number 6(2018)
- Journal:
- International journal of high performance computing applications
- Issue:
- Volume 32:Number 6(2018)
- Issue Display:
- Volume 32, Issue 6 (2018)
- Year:
- 2018
- Volume:
- 32
- Issue:
- 6
- Issue Sort Value:
- 2018-0032-0006-0000
- Page Start:
- 838
- Page End:
- 853
- Publication Date:
- 2018-11
- Subjects:
- Parallel Programming -- GPUs -- CUDA -- Heterogeneous Programming
High performance computing -- Periodicals
Supercomputers -- Periodicals
004.1105 - Journal URLs:
- http://hpc.sagepub.com ↗
http://www.uk.sagepub.com/home.nav ↗
http://firstsearch.oclc.org ↗ - DOI:
- 10.1177/1094342017702962 ↗
- Languages:
- English
- ISSNs:
- 1094-3420
- Deposit Type:
- Legaldeposit
- View Content:
- Available online (eLD content is only available in our Reading Rooms) ↗
- Physical Locations:
- British Library DSC - BLDSS-3PM
British Library HMNTS - ELD Digital store - Ingest File:
- 8757.xml