gpu computo paralelo

5
GPU (Unidad de Procesamiento Grafico) APLICADO AL COMPUTO EN PARALELO

Upload: edgar-torres

Post on 14-Oct-2015

4 views

Category:

Documents


0 download

TRANSCRIPT

GPU (Unidad de Procesamiento Grafico)

GPU (Unidad de Procesamiento Grafico)APLICADO AL COMPUTO EN PARALELOGPUEs uncoprocesadordedicado al procesamiento de grficos u operaciones de coma flotante, para aligerar la carga de trabajo del procesador central en aplicaciones como los videojuegos y o aplicaciones 3D interactivas.Al inicio, la programacin de la GPU se realizaba con llamadas a servicios deinterrupcinde laBIOS.Posteriormente, se introdujo un nivel ms entre el hardware y el software, con la creacin deinterfaces de programacin de aplicaciones(API) especficas para grficos, que proporcionaron un lenguaje ms homogneo para los modelos existentes en el mercado.La primera API usada ampliamente fue el estndar abiertoOpenGL(Open Graphics Language), tras el cul Microsoft desarrollDirectX.

GPGPU (General-Purpose Computing on Graphics Processing Units)Algunas de sus caractersticas (bajo precio en relacin a su potencia de clculo, granparalelismo, optimizacin para clculos encoma flotante), se consideran atractivas para su uso en aplicaciones fuera de los grficos por computadora, especialmente en el mbito cientfico y desimulacin.

Se han desarrollado tcnicas para la implementacin de simulaciones de fluidos,bases de datos, algoritmos declustering, etc.

Modelo de programacin GPUEn concreto, el acceso a memoria plantea las mayores dificultades.Las CPU estn diseadas para elacceso aleatorio a memoria.En cambio, en una GPU, el acceso a memoria est mucho ms restringido.La tarea del diseador de algoritmos GPGPU consiste principalmente en adaptar los accesos a memoria y las estructuras de datos a las caractersticas de la GPU.Pese a que cualquier algoritmo que sea implementable en una CPU lo es tambin en una GPU, esas implementaciones no sern igual de eficientes en las dos arquitecturas. En concreto, los algoritmos con un alto grado de paralelismo, sin necesidad de estructuras de datos complejas y con una altaintensidad aritmticason los que mayores beneficios obtienen de su implementacin en la GPU.Herramientas de Desarrollo

el desarrollo de software GPGPU se haba hecho bien enlenguaje ensamblador, o bien en alguno de los lenguajes especficos para aplicaciones grficas usando la GPU, como GLSL,CgoHLSL.La opcin ms extendida en la actualidad esCUDA, deNVidia, una extensin deCque permite la codificacin de algoritmos enGPUdeNVidia.Por ltimo, podemos incluir en esta discusin aOpenCL, una combinacin de interfaz y lenguaje de programacin para el desarrollo de aplicaciones paralelas que puedan ser ejecutadas, de forma transparente, en diversas unidades de procesamiento (CPUmultincleo,GPU, etc.).GRACIAS