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> 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 />
8. ANEXO I: Manual de CUDA<br />
A continuación vamos a incluir un pequeño manual sobre cómo poner <strong>en</strong> marcha<br />
una tarjeta gráfica programable, <strong>para</strong> ello necesitaremos realizar unas<br />
configuraciones <strong>en</strong> el equipo. Además será necesario t<strong>en</strong>er unas nociones básicas de<br />
las técnicas que podrán ser utilizadas <strong>en</strong> una programación con CUDA. Finalm<strong>en</strong>te<br />
pasaremos a tratar algunas técnicas de optimización y una serie de herrami<strong>en</strong>tas de<br />
desarrollo y de depuración.<br />
8.1. Introducción<br />
Lo primero que debemos de conocer: ¿Qué es CUDA? ¿Para qué sirve?. Pues<br />
bi<strong>en</strong>, CUDA es la arquitectura de cómputo <strong>para</strong>lelo de propósito g<strong>en</strong>eral de NVIDIA<br />
que nos va a permitir realizar cómputos de altas prestaciones, de tal manera, que<br />
podamos aprovechar al máximo la pot<strong>en</strong>cia de la <strong>GPU</strong> (Unidad de Procesami<strong>en</strong>to<br />
Gráfico). Incluye el conjunto de instrucciones de la arquitectura CUDA (ISA) y el<br />
motor de cálculo <strong>para</strong>lelo <strong>en</strong> la <strong>GPU</strong>. Para programar <strong>en</strong> arquitecturas CUDA, los<br />
desarrolladores podrán utilizar C, uno de los l<strong>en</strong>guajes de programación más<br />
utilizados de alto nivel, que funcionarán a un gran r<strong>en</strong>dimi<strong>en</strong>to <strong>en</strong> la utilización de<br />
procesadores donde se <strong>en</strong>cu<strong>en</strong>tr<strong>en</strong> habilitados con CUDA.<br />
Hasta la fecha actual nos podremos <strong>en</strong>contrar con varios tipos de <strong>GPU</strong>s, <strong>en</strong> los<br />
que desarrolladores de software, ci<strong>en</strong>tíficos e investigadores han ido <strong>en</strong>contrando<br />
usos distintos utilizando una programación CUDA, incluy<strong>en</strong>do procesami<strong>en</strong>to de<br />
imág<strong>en</strong>es de media y alta resolución, al igual pasa con el procesami<strong>en</strong>to de vídeo, la<br />
biología y la química computacional, la simulación dinámica de fluidos, el análisis<br />
sísmico, y mucho más.<br />
Actualm<strong>en</strong>te <strong>en</strong> la página oficial de CUDA de NVIDIA 10 nos vamos a poder<br />
<strong>en</strong>contrar con las herrami<strong>en</strong>tas necesarias <strong>para</strong> configurar nuestro equipo con todo lo<br />
necesario <strong>para</strong> utilizar CUDA. Para hacerlo más fácil, com<strong>en</strong>taremos las<br />
configuraciones previas necesarias <strong>para</strong> Windows y cualquier distribución de Linux.<br />
10 http://www.nvidia.com/object/cuda_home_new.html<br />
Trabajo Fin de Máster -80- Sergio Bernabé García