X hits on this document

93 views

0 shares

0 downloads

0 comments

10 / 35

6

Ing. Danis Lo´pez Naranjo, Dr. C. Jose´ Herna´ndez Palancar

¿Por que´ usar una GPU para realizar los ca´lculos generales? La CPU esta´ dise˜nada con memorias cache´ de gran tama˜no para reducir la latencia hacia las localidades de memoria de acceso frecuente en la memoria principal. Estas memorias cache´ consumen una gran parte en los dise˜nos de la CPU, espacio que podrı´a utilizarse para las unidades de procesamiento adicionales de la aritme´tica. La GPU adopta un enfoque muy diferente y emplea el hardware multi-hilo de ejecucio´n para ocultar la latencia de acceso a la memoria en el cambio de un subproceso ejecutable cuando el hilo de ejecucio´n se encuentra con una activa dependencia de una operacio´n a la espera de memoria global. Con un nu´mero suficiente de hilos multiplexados en cada una de las unidades de procesamiento, la latencia es realmente oculta, y el dispositivo logra un alto rendimiento sin la necesidad de una memoria cache´. GPU utiliza el a´rea que habrı´an sido consumidos por la memoria cache´ en la CPU para las unidades de la aritme´tica adicionales, dando un rendimiento de la arquitectura orientada a aritme´tica ma´xima de alto rendimiento.

El rendimiento de una GPU es mucho mayor que en la CPU. Una computadora personal

  • o

    PC con una unidad central Pentium 4 a 3 GHz puede teo´ricamente publicar alrededor

de 6 billones de puntos flotantes o float-point por segundos, sin embargo un fragmento de programa ejecutado en una GPU de modelo NVIDIA GeForce FX 5900 Ultra publica sobre los 20 billones de puntos flotantes por segundo, siendo esto lo equivalente a una CPU Pentium 4 a 10 GHz. En cuanto a la memoria de ancho de banda disponible, en la GPU puede alcanzar un tope de 25.3 GB/seg comparando con la Pentium 4 puede alcanzar los valores de 5.96 GB/seg. El balanceo de carga es una caracterı´stica fundamental que hay que tener en cuenta, la CPU limita el rendimiento de la aplicacio´n dejando la GPU con ciclos inactivos, limitando la descarga del trabajo a la GPU para lograr un aumento de velocidad en la aplicacio´n. Por estas razones queda claro que la GPU es mucho mejor para realizar ca´lculos complejo que en una CPU. Una de las desventajas de la GPU es que no se pueden implementar todos los algoritmos en ella, ni pude ser vista como una plataforma de eleccio´n para la implementacio´n de algoritmos, debido a su obligatoria implementacio´n en paralelo. Sin embargo, el soporte de herramientas de programacio´n para la GPU tales como: depuradores de cogido, lenguajes de programacio´n son muy escasos que los que existen para la CPU.

2.5.

Comparacio´n con dispositivos similares: FPGA, Cell

Con el avance de las nuevas tecnologı´as de la computacio´n, las tarjetas FPGA (Field Programmable Gate Array) han sido evolucionadas y mejoradas en la actualidad por sus desarrolladores, siendo cada vez ma´s potentes, con una amplia velocidad de entrada y salida de datos con multiplicadores duros y abundantes bloques de memoria. El objetivo de usar estos dispositivos fı´sicos para ordenadores, es proporcionar un modelo de programacio´n que sea de fa´cil acceso para los programadores. El desarrollo de un dise˜no de un programa en un lenguaje de descripcio´n de hardware, como Verilog es muy difı´cil, y requiere de un dise˜nador experto en hardware para realizar todas las implementaciones, pruebas, depuraciones de co´digo necesarias para el desarrollo del hardware real. Las te´cnicas de sı´ntesis que requiere un programador para escribir en un lenguaje de alto nivel como C, que luego se traducen automa´ticamente en los circuitos de hardware, en la actualidad tienen muchas limitaciones.

Document info
Document views93
Page views93
Page last viewedSun Dec 11 14:35:07 UTC 2016
Pages35
Paragraphs855
Words14967

Comments