Automatic Parallelization of GPU Applications Using OpenCL
Graphics Processing Units (GPUs) have been successfully used to accelerate scientific applications due to their computation power and the availability of programming languages that make more approachable writing scientific applications for GPUs. However, since the programming model of GPUs requires...
| Autor: | |
|---|---|
| Tipo de recurso: | artículo |
| Estado: | Versión publicada |
| Fecha de publicación: | 2015 |
| País: | Ecuador |
| Institución: | Universidad de Cuenca |
| Repositorio: | Repositorio Universidad de Cuenca |
| OAI Identifier: | oai:dspace.ucuenca.edu.ec:123456789/29244 |
| Acceso en línea: | https://www.scopus.com/inward/record.uri?eid=2-s2.0-84959361463&doi=10.1109%2fAPCASE.2015.56&partnerID=40&md5=d7c419381a7c08bab3a2f634f29bc02c http://dspace.ucuenca.edu.ec/handle/123456789/29244 |
| Access Level: | acceso abierto |
| Palabra clave: | Gpu Opencl Program Transformation |
| id |
EC_be44bf86c099772ffef8bfff24fd48b0 |
|---|---|
| oai_identifier_str |
oai:dspace.ucuenca.edu.ec:123456789/29244 |
| network_acronym_str |
EC |
| network_name_str |
Ecuador |
| repository_id_str |
|
| spelling |
Automatic Parallelization of GPU Applications Using OpenCLSolano Quinde, Lizandro DamianGpuOpenclProgram TransformationGraphics Processing Units (GPUs) have been successfully used to accelerate scientific applications due to their computation power and the availability of programming languages that make more approachable writing scientific applications for GPUs. However, since the programming model of GPUs requires offloading all the data to the GPU memory, the memory footprint of the application is limited to the size of the GPU memory. Multi-GPU systems can make memory limited problems tractable by parallelizing the computation and data among the available GPUs. Parallelizing applications written for running on single-GPU systems can be done (i) at runtime through an environment that captures the memory operations and kernel calls and distributes among the available GPUs, and (ii) at compile time through a pre-compiler that transforms the application for decomposing the data and computation among the available GPUs. In this paper we propose a framework and implement a tool that transforms an OpenCL application written to run on single-GPU systems into one that runs on multi-GPU systems. Based on data dependencies and data usage analysis, the application is transformed to decompose data and computation among the available GPUs. To reduce the data transfer overhead, computation-communication overlapping techniques are utilized. We tested our tool using two applications with different data transfer requirements, for the application with no data transfer requirements, a linear speedup is achieved, while for the application with data transfers, the computation-communication overlapping reduces the communication overhead by 40%.QuitoINSTITUTE OF ELECTRICAL AND ELECTRONICS ENGINEERS INC.2018-01-11T16:47:50Z2018-01-11T16:47:50Z2015-07-14info:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/articleapplication/pdf9781479975884https://www.scopus.com/inward/record.uri?eid=2-s2.0-84959361463&doi=10.1109%2fAPCASE.2015.56&partnerID=40&md5=d7c419381a7c08bab3a2f634f29bc02chttp://dspace.ucuenca.edu.ec/handle/123456789/2924410.1109/APCASE.2015.56Proceedings - 2015 Asia-Pacific Conference on Computer-Aided System Engineering, APCASE 2015reponame:Repositorio Universidad de Cuencainstname:Universidad de Cuencainstacron:UCUENCAen_USinfo:eu-repo/semantics/openAccess2020-08-01T01:15:53Zoai:dspace.ucuenca.edu.ec:123456789/29244Institucionalhttp://dspace.ucuenca.edu.ec/Universidad públicahttps://www.ucuenca.edu.ec/http://dspace.ucuenca.edu.ec/oai.Ecuador...opendoar:41862020-08-01T01:15:53Repositorio Universidad de Cuenca - Universidad de Cuencafalse |
| dc.title.none.fl_str_mv |
Automatic Parallelization of GPU Applications Using OpenCL |
| title |
Automatic Parallelization of GPU Applications Using OpenCL |
| spellingShingle |
Automatic Parallelization of GPU Applications Using OpenCL Solano Quinde, Lizandro Damian Gpu Opencl Program Transformation |
| title_short |
Automatic Parallelization of GPU Applications Using OpenCL |
| title_full |
Automatic Parallelization of GPU Applications Using OpenCL |
| title_fullStr |
Automatic Parallelization of GPU Applications Using OpenCL |
| title_full_unstemmed |
Automatic Parallelization of GPU Applications Using OpenCL |
| title_sort |
Automatic Parallelization of GPU Applications Using OpenCL |
| dc.creator.none.fl_str_mv |
Solano Quinde, Lizandro Damian |
| author |
Solano Quinde, Lizandro Damian |
| author_facet |
Solano Quinde, Lizandro Damian |
| author_role |
author |
| dc.subject.none.fl_str_mv |
Gpu Opencl Program Transformation |
| topic |
Gpu Opencl Program Transformation |
| description |
Graphics Processing Units (GPUs) have been successfully used to accelerate scientific applications due to their computation power and the availability of programming languages that make more approachable writing scientific applications for GPUs. However, since the programming model of GPUs requires offloading all the data to the GPU memory, the memory footprint of the application is limited to the size of the GPU memory. Multi-GPU systems can make memory limited problems tractable by parallelizing the computation and data among the available GPUs. Parallelizing applications written for running on single-GPU systems can be done (i) at runtime through an environment that captures the memory operations and kernel calls and distributes among the available GPUs, and (ii) at compile time through a pre-compiler that transforms the application for decomposing the data and computation among the available GPUs. In this paper we propose a framework and implement a tool that transforms an OpenCL application written to run on single-GPU systems into one that runs on multi-GPU systems. Based on data dependencies and data usage analysis, the application is transformed to decompose data and computation among the available GPUs. To reduce the data transfer overhead, computation-communication overlapping techniques are utilized. We tested our tool using two applications with different data transfer requirements, for the application with no data transfer requirements, a linear speedup is achieved, while for the application with data transfers, the computation-communication overlapping reduces the communication overhead by 40%. |
| publishDate |
2015 |
| dc.date.none.fl_str_mv |
2015-07-14 2018-01-11T16:47:50Z 2018-01-11T16:47:50Z |
| dc.type.none.fl_str_mv |
info:eu-repo/semantics/publishedVersion info:eu-repo/semantics/article |
| format |
article |
| status_str |
publishedVersion |
| dc.identifier.none.fl_str_mv |
9781479975884 https://www.scopus.com/inward/record.uri?eid=2-s2.0-84959361463&doi=10.1109%2fAPCASE.2015.56&partnerID=40&md5=d7c419381a7c08bab3a2f634f29bc02c http://dspace.ucuenca.edu.ec/handle/123456789/29244 10.1109/APCASE.2015.56 |
| identifier_str_mv |
9781479975884 10.1109/APCASE.2015.56 |
| url |
https://www.scopus.com/inward/record.uri?eid=2-s2.0-84959361463&doi=10.1109%2fAPCASE.2015.56&partnerID=40&md5=d7c419381a7c08bab3a2f634f29bc02c http://dspace.ucuenca.edu.ec/handle/123456789/29244 |
| dc.language.none.fl_str_mv |
en_US |
| language_invalid_str_mv |
en_US |
| dc.rights.none.fl_str_mv |
info:eu-repo/semantics/openAccess |
| eu_rights_str_mv |
openAccess |
| dc.format.none.fl_str_mv |
application/pdf |
| dc.publisher.none.fl_str_mv |
INSTITUTE OF ELECTRICAL AND ELECTRONICS ENGINEERS INC. |
| publisher.none.fl_str_mv |
INSTITUTE OF ELECTRICAL AND ELECTRONICS ENGINEERS INC. |
| dc.source.none.fl_str_mv |
Proceedings - 2015 Asia-Pacific Conference on Computer-Aided System Engineering, APCASE 2015 reponame:Repositorio Universidad de Cuenca instname:Universidad de Cuenca instacron:UCUENCA |
| instname_str |
Universidad de Cuenca |
| instacron_str |
UCUENCA |
| institution |
UCUENCA |
| reponame_str |
Repositorio Universidad de Cuenca |
| collection |
Repositorio Universidad de Cuenca |
| repository.name.fl_str_mv |
Repositorio Universidad de Cuenca - Universidad de Cuenca |
| repository.mail.fl_str_mv |
. |
| _version_ |
1869000028968714240 |
| score |
15.300719 |