29.04.2013 Views

Implementación en GPU del algoritmo K-Means para ... - UMBC

Implementación en GPU del algoritmo K-Means para ... - UMBC

Implementación en GPU del algoritmo K-Means para ... - UMBC

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>Implem<strong>en</strong>tación</strong> <strong>en</strong> <strong>GPU</strong> <strong>del</strong> <strong>algoritmo</strong> K-<strong>Means</strong> <strong>para</strong> procesami<strong>en</strong>to <strong>para</strong>lelo<br />

de imág<strong>en</strong>es de satélite disponibles <strong>en</strong> la herrami<strong>en</strong>ta Google Maps<br />

3.2. CUDA: una nueva arquitectura <strong>para</strong> el cálculo <strong>en</strong> la <strong>GPU</strong><br />

CUDA vi<strong>en</strong>e <strong>del</strong> inglés Compute Unified Device Architecture y es una nueva<br />

arquitectura hardware y software, diseñada <strong>para</strong> dar y manejar procesami<strong>en</strong>tos <strong>en</strong> la<br />

<strong>GPU</strong> como un elem<strong>en</strong>to de computación de datos <strong>para</strong>lelos sin la necesidad de<br />

mapearlos a una API de gráficos. Está disponible <strong>para</strong> las versiones GeForce 8<br />

Series, Quadro FX 5600/4600, Tesla y Fermi. El mecanismo de multitarea <strong>del</strong><br />

sistema operativo es responsable de manejar el acceso a la <strong>GPU</strong> mediante CUDA, y<br />

las aplicaciones gráficas funcionan de forma simultánea. A continuación describimos<br />

el pipeline unificado <strong>del</strong> que dispon<strong>en</strong> las actuales <strong>GPU</strong>s de NVIDIA y que puede ser<br />

explotado de forma efici<strong>en</strong>te mediante CUDA, así como la arquitectura completa de<br />

la Tesla C1060. El apartado finaliza describi<strong>en</strong>do los difer<strong>en</strong>tes mo<strong>del</strong>os de<br />

programación <strong>en</strong> CUDA.<br />

Pipeline unificado<br />

A partir <strong>del</strong> mo<strong>del</strong>o de pipeline clásico, con sus flujos de datos empezando <strong>en</strong> lo<br />

más alto, donde los vértices con varios atributos, índices, comandos, y texturas son<br />

pasados a la <strong>GPU</strong> desde la CPU. Las fases de procesami<strong>en</strong>to mayores sigu<strong>en</strong> una<br />

manera lineal segura incluy<strong>en</strong>do vertex shading, píxel shading, operaciones raster,<br />

(que son operaciones a través de las cuales un área espacial queda dividida <strong>en</strong> celdas<br />

regulares, <strong>en</strong> las que cada una de las cuales pres<strong>en</strong>tan unos atributos o valor, como<br />

pued<strong>en</strong> ser la altitud, reflectancia, etc.) y escritura de píxeles <strong>en</strong> el buffer frame.<br />

Con este pipeline unificado y la arquitectura “shader”, el diseño de la <strong>GPU</strong> Tesla<br />

c1060 reduce significativam<strong>en</strong>te el número de fases <strong>del</strong> pipeline y cambia el flujo<br />

secu<strong>en</strong>cial <strong>para</strong> estar más ori<strong>en</strong>tado a bucle. Las <strong>en</strong>tradas son alim<strong>en</strong>tadas <strong>en</strong> la parte<br />

alta <strong>del</strong> núcleo shader unificado, y las salidas son escritas <strong>en</strong> registros y <strong>en</strong>tonces<br />

vuelv<strong>en</strong> otra vez a la parte alta <strong>del</strong> núcleo shader <strong>para</strong> la próxima operación. Como<br />

resultado, <strong>en</strong> el diagrama <strong>GPU</strong> unificado g<strong>en</strong>eralizado que se muestra <strong>en</strong> la<br />

figura 3.5, los flujos de datos bajan secu<strong>en</strong>cialm<strong>en</strong>te por el pipeline a través de<br />

difer<strong>en</strong>tes tipos “shader”. La figura de la derecha repres<strong>en</strong>ta un núcleo “shader”<br />

unificado con uno o más procesadores “shader” unificados estandarizados.<br />

Trabajo Fin de Máster -31- Sergio Bernabé García

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!