Impact analysis of conditional and loop statements for the NVIDIA G80 architecture



Título del documento: Impact analysis of conditional and loop statements for the NVIDIA G80 architecture
Revista: Ingeniería y desarrollo
Base de datos: PERIÓDICA
Número de sistema: 000338481
ISSN: 0122-3461
Autores: 1
2
2
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:
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
Texto completo: Texto completo (Ver HTML)