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

3) Ocupancia: maximizar utilización HW.<br />

Si los threads ejecutan una instrucción de acceso a memoria global se pierd<strong>en</strong><br />

ciclos de reloj. Por ello, es posible “ocultar” esa lat<strong>en</strong>cia ejecutando mi<strong>en</strong>tras tanto<br />

un warp distinto. La ocupancia vi<strong>en</strong>e determinada por la sigui<strong>en</strong>te ecuación:<br />

Ocupancia =<br />

# á <br />

# á <br />

El número máximo de warps que nos podemos <strong>en</strong>contrar es de 24 warps (1.0 y<br />

1.1) y 32 warps (1.3).<br />

Para ocultar la lat<strong>en</strong>cia implica aum<strong>en</strong>tar el tamaño <strong>del</strong> bloque:<br />

• Limitación: recursos disponibles (registros y shared memory).<br />

o Compilar con flag --ptxas-options=-v<br />

o Compilar con flag –cubin<br />

code{<br />

}<br />

name = my_kernel<br />

lmem = 0<br />

smem = 2048<br />

reg = 10<br />

bar = 0<br />

bincode { … }<br />

const { … }<br />

• Si se supera el número de registros, el thread usará memoria “local”<br />

(muy l<strong>en</strong>ta, <strong>en</strong> zona de memoria global).<br />

• Si hay reserva dinámica de memoria compartida es necesario sumarla a<br />

smem.<br />

Una de las partes importantes de este apartado, es la elección <strong>del</strong> tamaño de<br />

bloque y de grid:<br />

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

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

Saved successfully!

Ooh no, something went wrong!