Análisis del impacto de sentencias condicionales y repetitivas en la arquitectura NVIDIA G80
Resumen
Resumen
En 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.