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
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 />
Bloque:<br />
Grid:<br />
o El tamaño <strong>del</strong> bloque estará <strong>en</strong>tre 192 y 256 threads.<br />
o Aum<strong>en</strong>tar ocupancia sólo significa aum<strong>en</strong>tar el r<strong>en</strong>dimi<strong>en</strong>to si el<br />
kernel está “bandwidth bound”.<br />
o Empezar con #bloques / #SMs > 2 (hasta 8 bloques simultáneam<strong>en</strong>te<br />
<strong>en</strong> cada SM).<br />
o Idealm<strong>en</strong>te: <strong>algoritmo</strong> # bloques >> (escalable a futuras <strong>GPU</strong>s).<br />
o En Fermi distintos SMs podrán ejecutar distintos kernel, de esta<br />
manera se obt<strong>en</strong>drá un <strong>para</strong>lelismo a nivel de tarea.<br />
8.7. Herrami<strong>en</strong>tas desarrollo y depuración.<br />
• Modo emudebug:<br />
o Opción –deviceemu <strong>en</strong> nvcc.<br />
o Código de kernels se ejecuta <strong>en</strong> CPU.<br />
o Posibilidad de depurar con la incorporación de printf();<br />
• CUDA Profiler:<br />
• NEXUS:<br />
o Utiliza HW counters: según compute capability.<br />
o Coalesc<strong>en</strong>cia, memory/instruction throughput, diverg<strong>en</strong>cia threads …<br />
o Entorno integrado sobre Visual Studio: CUDA, Op<strong>en</strong>CL, …<br />
o Profiling + depuración sobre <strong>GPU</strong>.<br />
o Más información <strong>en</strong>: http://developer.nvidia.com/object/nexus.html.<br />
Trabajo Fin de Máster -99- Sergio Bernabé García