Revue: | Ingeniería y desarrollo |
Base de datos: | PERIÓDICA |
Número de sistema: | 000338481 |
ISSN: | 0122-3461 |
Autores: | Carrillo, Snaider1 Siegel, Jakob2 Xiaoming Li2 |
Instituciones: | 1University of Ulster, Londonderry. Reino Unido 2University of Delaware, Department of Electrical and Computer Engineering, Newark, Delaware. Estados Unidos de América |
Año: | 2010 |
Periodo: | Ene-Jun |
Número: | 27 |
Paginación: | 130-150 |
País: | Colombia |
Idioma: | Inglés |
Tipo de documento: | Artículo |
Enfoque: | Analítico |
Resumen en español | En este artículo se proponen y evalúan dos nuevas técnicas de optimizació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 controlada 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 reflejada 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 arquitectura NVIDIA G80 comparado con la ejecución de la versión non-splitting del mismo algoritmo |
Resumen en inglés | In this paper, we propose two novel techniques to transform control statements so they can be executed efficiently 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 artificial benchmark and the results show that these techniques are very efficient 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 |
Disciplinas: | Ciencias de la computación |
Palabras clave: | Programación, Hardware, Arquitectura NVIDIA G80, Optimización, Algoritmos, Multiprocesadores |
Keyword: | Computer science, Programming, Hardware, Software, NVIDIA G80 architecture, Algorithms, Multiprocessors |
Texte intégral: | Texto completo (Ver HTML) |