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

• En cada SM la memoria está dividida <strong>en</strong> 16 bloques.<br />

• Las palabras de 32 bits se asignan a bancos sucesivam<strong>en</strong>te.<br />

• Cada bloque permite una lectura/escritura por ciclo.<br />

• Accesos simultáneos al mismo banco produc<strong>en</strong> un conflicto:<br />

o Serialización de los accesos.<br />

o Broadcast desde un banco no p<strong>en</strong>aliza.<br />

Texturas y memoria constante: <strong>en</strong> memoria global, <strong>para</strong> lectura:<br />

• Caché 2D <strong>en</strong> SM: b<strong>en</strong>eficio si coalesc<strong>en</strong>cia es problemática de conseguir.<br />

• Permite interpolación de valores por hardware.<br />

• Modos de acceso: Clamp (to edge), Repeat, …<br />

2) Evitar la diverg<strong>en</strong>cia de threads <strong>en</strong> un warp.<br />

Características de los Warp:<br />

• Grupos de 32 threads.<br />

o Concurr<strong>en</strong>tes SM.<br />

• Branching: if, switch, do, for, while.<br />

• Si threads <strong>en</strong> warp toman distintos caminos serialización.<br />

Evitar diverg<strong>en</strong>cias:<br />

• Con diverg<strong>en</strong>cia: if (threadIdx.x>4) {}<br />

• Sin diverg<strong>en</strong>cia: if (threadIdx.x/WARP_SIZE >= 1) {}<br />

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

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

Saved successfully!

Ooh no, something went wrong!