Journal: | Ingeniería y desarrollo |
Database: | PERIÓDICA |
System number: | 000338481 |
ISSN: | 0122-3461 |
Authors: | Carrillo, Snaider1 Siegel, Jakob2 Xiaoming Li2 |
Institutions: | 1University of Ulster, Londonderry. Reino Unido 2University of Delaware, Department of Electrical and Computer Engineering, Newark, Delaware. Estados Unidos de América |
Year: | 2010 |
Season: | Ene-Jun |
Number: | 27 |
Pages: | 130-150 |
Country: | Colombia |
Language: | Inglés |
Document type: | Artículo |
Approach: | Analítico |
Spanish abstract | 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 |
English abstract | 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 |
Disciplines: | Ciencias de la computación |
Keyword: | Programación, Hardware, Arquitectura NVIDIA G80, Optimización, Algoritmos, Multiprocesadores |
Keyword: | Computer science, Programming, Hardware, Software, NVIDIA G80 architecture, Algorithms, Multiprocessors |
Full text: | Texto completo (Ver HTML) |