Análisis del impacto de sentencias condicionales y repetitivas en la arquitectura NVIDIA G80
ResumenEn este artículo se proponen y evalúan dos nuevas técnicas de optimi- zación a nivel de instrucciones enfocadas a hacer un mejor uso de los recursos de tipo hardware en la arquitectura NVDIA G80. Estas técnicas llamadas loop splitting and branch splitting incrementan de forma contro- lada la...
- Autores:
-
Snaider Carrillo; University of Ulster
Jakob Siegel; University of Delaware
Xiaoming Li; University of Delaware
- Tipo de recurso:
- Fecha de publicación:
- 2010
- Institución:
- Universidad del Norte
- Repositorio:
- Repositorio Uninorte
- Idioma:
- eng
- OAI Identifier:
- oai:manglar.uninorte.edu.co:10584/3898
- Acceso en línea:
- http://rcientificas.uninorte.edu.co/index.php/ingenieria/article/view/871
http://hdl.handle.net/10584/3898
- Palabra clave:
- Rights
- License
- http://purl.org/coar/access_right/c_abf2
id |
REPOUNORT2_19e587141863b938458bbf4978ad6837 |
---|---|
oai_identifier_str |
oai:manglar.uninorte.edu.co:10584/3898 |
network_acronym_str |
REPOUNORT2 |
network_name_str |
Repositorio Uninorte |
repository_id_str |
|
spelling |
Snaider Carrillo; University of UlsterJakob Siegel; University of DelawareXiaoming Li; University of DelawareColombia2013-08-31T23:09:57Z2013-08-31T23:09:57Z2010-09-08http://rcientificas.uninorte.edu.co/index.php/ingenieria/article/view/871http://hdl.handle.net/10584/3898ResumenEn este artículo se proponen y evalúan dos nuevas técnicas de optimi- zación a nivel de instrucciones enfocadas a hacer un mejor uso de los recursos de tipo hardware en la arquitectura NVDIA G80. Estas técnicas llamadas loop splitting and branch splitting incrementan de forma contro- lada la redundancia de código, lo cual puede ser considerado como “no óptimo” en una arquitectura convencional como la CPU; sin embargo, en la arquitectura multiprocesador NVIDIA G80, dicha redundancia se ve refejada en el incremento de la ocupación de sus multiprocesadores y en un aumento del paralelismo de los programas ejecutados en este tipo de arquitectura. Los resultados obtenidos a partir de los bancos de pruebas aleatorios y no aleatorios realizados en esta investigación muestran que estas técnicas incrementan la ocupación y el paralelismo de la arquitec- tura NVIDIA G80 comparado con la ejecución de la versión non-splitting del mismo algoritmo.AbstractIn this paper, we propose two novel techniques to transform control state- ments so they can be executed effciently on the NVIDIA G80 architecture. Our techniques called loop splitting and branch splitting smartly increase code redundancy, which might be deemed as “de-optimization” for CPU; but for a GPU framework these techniques improve the occupancy of a program on the GPU device and therefore improve its performance. We demonstrate our optimizations on an artifcial benchmark and the results show that these techniques are very effcient and, depending on the problem layout, can lead to an increase in occupancy and a drastic improvement in performance compared to non-split version of the same algorithm.application/pdfengUniversidad del NorteRevista Científica Ingeniería y Desarrollo; No 27 (2010): Enero - Junio; 130-150instname:Universidad del Nortereponame:Repositorio Digital de la Universidad del NorteAnálisis del impacto de sentencias condicionales y repetitivas en la arquitectura NVIDIA G80Impact analysis of conditional and loop statements for the NVIDIA G80 architecturearticlepublishedVersionhttp://purl.org/coar/version/c_970fb48d4fbd8a85http://purl.org/coar/resource_type/c_6501http://purl.org/coar/access_right/c_abf210584/3898oai:172.16.14.36:10584/38982015-10-07 01:47:19.556Repositorio Digital de la Universidad del Nortemauribe@uninorte.edu.co |
dc.title.none.fl_str_mv |
Análisis del impacto de sentencias condicionales y repetitivas en la arquitectura NVIDIA G80 Impact analysis of conditional and loop statements for the NVIDIA G80 architecture |
title |
Análisis del impacto de sentencias condicionales y repetitivas en la arquitectura NVIDIA G80 |
spellingShingle |
Análisis del impacto de sentencias condicionales y repetitivas en la arquitectura NVIDIA G80 |
title_short |
Análisis del impacto de sentencias condicionales y repetitivas en la arquitectura NVIDIA G80 |
title_full |
Análisis del impacto de sentencias condicionales y repetitivas en la arquitectura NVIDIA G80 |
title_fullStr |
Análisis del impacto de sentencias condicionales y repetitivas en la arquitectura NVIDIA G80 |
title_full_unstemmed |
Análisis del impacto de sentencias condicionales y repetitivas en la arquitectura NVIDIA G80 |
title_sort |
Análisis del impacto de sentencias condicionales y repetitivas en la arquitectura NVIDIA G80 |
dc.creator.fl_str_mv |
Snaider Carrillo; University of Ulster Jakob Siegel; University of Delaware Xiaoming Li; University of Delaware |
dc.contributor.author.none.fl_str_mv |
Snaider Carrillo; University of Ulster Jakob Siegel; University of Delaware Xiaoming Li; University of Delaware |
description |
ResumenEn este artículo se proponen y evalúan dos nuevas técnicas de optimi- zación a nivel de instrucciones enfocadas a hacer un mejor uso de los recursos de tipo hardware en la arquitectura NVDIA G80. Estas técnicas llamadas loop splitting and branch splitting incrementan de forma contro- lada la redundancia de código, lo cual puede ser considerado como “no óptimo” en una arquitectura convencional como la CPU; sin embargo, en la arquitectura multiprocesador NVIDIA G80, dicha redundancia se ve refejada en el incremento de la ocupación de sus multiprocesadores y en un aumento del paralelismo de los programas ejecutados en este tipo de arquitectura. Los resultados obtenidos a partir de los bancos de pruebas aleatorios y no aleatorios realizados en esta investigación muestran que estas técnicas incrementan la ocupación y el paralelismo de la arquitec- tura NVIDIA G80 comparado con la ejecución de la versión non-splitting del mismo algoritmo. |
publishDate |
2010 |
dc.date.issued.none.fl_str_mv |
2010-09-08 |
dc.date.accessioned.none.fl_str_mv |
2013-08-31T23:09:57Z |
dc.date.available.none.fl_str_mv |
2013-08-31T23:09:57Z |
dc.type.none.fl_str_mv |
article |
dc.type.coarversion.fl_str_mv |
http://purl.org/coar/version/c_970fb48d4fbd8a85 |
dc.type.coar.fl_str_mv |
http://purl.org/coar/resource_type/c_6501 |
dc.type.hasVersion.none.fl_str_mv |
publishedVersion |
dc.identifier.other.none.fl_str_mv |
http://rcientificas.uninorte.edu.co/index.php/ingenieria/article/view/871 |
dc.identifier.uri.none.fl_str_mv |
http://hdl.handle.net/10584/3898 |
url |
http://rcientificas.uninorte.edu.co/index.php/ingenieria/article/view/871 http://hdl.handle.net/10584/3898 |
dc.language.iso.none.fl_str_mv |
eng |
language |
eng |
dc.relation.ispartof.none.fl_str_mv |
Revista Científica Ingeniería y Desarrollo; No 27 (2010): Enero - Junio; 130-150 |
dc.rights.coar.fl_str_mv |
http://purl.org/coar/access_right/c_abf2 |
rights_invalid_str_mv |
http://purl.org/coar/access_right/c_abf2 |
dc.format.none.fl_str_mv |
application/pdf |
dc.coverage.spatial.none.fl_str_mv |
Colombia |
dc.publisher.none.fl_str_mv |
Universidad del Norte |
publisher.none.fl_str_mv |
Universidad del Norte |
dc.source.none.fl_str_mv |
instname:Universidad del Norte reponame:Repositorio Digital de la Universidad del Norte |
instname_str |
Universidad del Norte |
institution |
Universidad del Norte |
reponame_str |
Repositorio Digital de la Universidad del Norte |
collection |
Repositorio Digital de la Universidad del Norte |
repository.name.fl_str_mv |
Repositorio Digital de la Universidad del Norte |
repository.mail.fl_str_mv |
mauribe@uninorte.edu.co |
_version_ |
1818112605955293184 |