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