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

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

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

Saved successfully!

Ooh no, something went wrong!