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

modificadores: cudaMemcpyHostToHost, cudaMemcpyHostToDevice,<br />

cudaMemcpyDeviceToHost o cudaMemcpyDeviceToDevice, y especifican la<br />

dirección de la copia. Las áreas de memoria no se pued<strong>en</strong> solapar.<br />

cudaError_t cudaMemcpy (void *dst, const void *src, size_t nbytes, <strong>en</strong>um<br />

MODELO DE PROGRAMACIÓN:<br />

cudaMemcpyKind kind)<br />

Los kernels son funciones invocadas desde el host y ejecutadas <strong>en</strong> <strong>para</strong>lelo sobre<br />

el device empleando <strong>GPU</strong> threads. Características:<br />

• Paralelismo a nivel de datos.<br />

• Agrupación de threads.<br />

• Block: thread ∈ block.<br />

o Compartir datos.<br />

o Sincronizar ejecución.<br />

• Grid: # blocks.<br />

o Dominio de cálculo.<br />

• Tamaño block y grid se decide <strong>en</strong> la invocación <strong>del</strong> kernel.<br />

Otro aspecto utilizado <strong>en</strong> el mo<strong>del</strong>o de programación son las dim<strong>en</strong>siones e<br />

id<strong>en</strong>tificadores:<br />

• Grid (hasta 2D), block (hasta 3D), tipos dim3.<br />

• Ejemplos (ver figura 8.3):<br />

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

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

Saved successfully!

Ooh no, something went wrong!