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