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> KK-<strong>Means</strong><br />

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

de elem<strong>en</strong>tos a procesar sean iguales al número de proce procesos sos (éste último <strong>en</strong> la<br />

práctica se <strong>en</strong>cu<strong>en</strong>tra limitado). En el <strong>algoritmo</strong> que se ha desarrollado los píxeles<br />

son distribuidos <strong>en</strong> una matriz de 1 dim<strong>en</strong>sión (cuyas posiciones son los valores<br />

RGBA de cada uno de los píxeles).<br />

Tabla 5.1. Métricas utilizadas <strong>para</strong> calcular la similitud de características.<br />

Para la sigui<strong>en</strong>te fase <strong>del</strong> <strong>algoritmo</strong>, donde se necesitan recalcul recalcular los c<strong>en</strong>tros de<br />

cada cluster y reasignar de nuevo los píxeles a cada uno de los clusters,<br />

aprovecharemos la idea <strong>del</strong> <strong>algoritmo</strong> serie utilizado utilizado. . Se realizará de esta manera por<br />

dos razones:<br />

• En este paso el <strong>algoritmo</strong> requiere un int<strong>en</strong>so intercambio de datos y podría<br />

crear una congestión <strong>en</strong> la memoria <strong>del</strong> subsistema. Aunque una forma de<br />

poder <strong>para</strong>lelizar esta parte, sería pedir a cada uno de los th threads qué píxeles<br />

es miembro de un determinado clu cluster ster <strong>para</strong> poder añadir sus valores a una<br />

cierta estructura <strong>en</strong> memoria. Esta opción no sería muy bu<strong>en</strong>a ya que crearía<br />

demasiado tráfico tráfico.<br />

• También se podría aplicar el proceso de reducción, es decir, t<strong>en</strong>i<strong>en</strong>d t<strong>en</strong>i<strong>en</strong>do una lista<br />

de valores RGBA correspondi<strong>en</strong>tes a los píxeles de cada uno de los clusters,<br />

se podrían sumar <strong>en</strong> log log2(n), (n), si<strong>en</strong>do n el número de elem<strong>en</strong>tos pert<strong>en</strong>eci<strong>en</strong>tes<br />

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

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

Saved successfully!

Ooh no, something went wrong!