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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<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 />

aplicaciones ci<strong>en</strong>tíficas es el hecho de que la <strong>GPU</strong> está especializada <strong>para</strong> cómputo<br />

int<strong>en</strong>sivo, computación <strong>para</strong>lela elevada (exactam<strong>en</strong>te sobre lo que trata el<br />

r<strong>en</strong>derizado de gráficos) y por tanto se designan más transistores dedicados al<br />

procesami<strong>en</strong>to de datos, que a la recolección de datos y control de flujo como se<br />

muestra <strong>en</strong> la figura 3.4.<br />

Figura 3.4. La <strong>GPU</strong> proporciona más transistores <strong>para</strong> el procesami<strong>en</strong>to de datos.<br />

Más específicam<strong>en</strong>te, la <strong>GPU</strong> está especialm<strong>en</strong>te p<strong>en</strong>sada <strong>para</strong> direccionar<br />

problemas que pued<strong>en</strong> ser expresados como computaciones de datos <strong>para</strong>lelos (el<br />

mismo programa es ejecutado <strong>en</strong> muchos elem<strong>en</strong>tos de datos <strong>en</strong> <strong>para</strong>lelo) con gran<br />

int<strong>en</strong>sidad aritmética (el ratio de operaciones aritméticas respecto a operaciones de<br />

memoria). Como el mismo programa es ejecutado <strong>para</strong> cada elem<strong>en</strong>to de datos, hay<br />

m<strong>en</strong>os requisitos <strong>para</strong> un flujo de control sofisticado; y como es ejecutado <strong>en</strong> muchos<br />

elem<strong>en</strong>tos de datos y ti<strong>en</strong>e gran int<strong>en</strong>sidad aritmética, la lat<strong>en</strong>cia de acceso a<br />

memoria puede ser ocultada con cálculos, <strong>en</strong> vez de datos muy grandes de caché<br />

[23].<br />

El procesami<strong>en</strong>to de datos <strong>para</strong>lelos asocia los datos a elem<strong>en</strong>tos de proceso<br />

<strong>para</strong>lelos. Muchas aplicaciones que procesan grandes conjuntos de datos como arrays<br />

pued<strong>en</strong> usar un mo<strong>del</strong>o de programación de datos <strong>para</strong>lelos <strong>para</strong> acelerar los<br />

cálculos. En r<strong>en</strong>derizado 3D los conjuntos de píxeles y vértices se asignan a hilos<br />

<strong>para</strong>lelos. De la misma manera, aplicaciones de procesami<strong>en</strong>to de imág<strong>en</strong>es y<br />

multimedia como postprocesado de imág<strong>en</strong>es r<strong>en</strong>derizadas, codificación y<br />

decodificación de vídeo, escalado de imág<strong>en</strong>es, visión estéreo, y patrones de<br />

reconocimi<strong>en</strong>to pued<strong>en</strong> asociar bloques de la imag<strong>en</strong> y píxeles a hilos de<br />

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

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

Saved successfully!

Ooh no, something went wrong!