Investigacion gpgpu sql
Taller de investigación 1
Marco Teórico
Profesora
ISLAS SEPULVEDA MARIA DEL CARMEN
La computación de uso general en unidades de procesamiento gráfico (GPGPU), también conocido como GPU Computing. Unidades de procesamiento gráfico (GPU) son procesadores de alto rendimiento de muchos núcleos capaces de cómputo muy alto y el rendimiento de datos. Unavez diseñado especialmente para los gráficos de computadora y difíciles de programar, las GPU de hoy son los procesadores en paralelo de propósito general con soporte para interfaces de programación de acceso y lenguajes estándares de la industria, tales como desarrolladores de C, que su puerto de aplicaciones para las GPU a menudo consiguen aceleraciones de órdenes de magnitud frente a optimizarlas implementaciones en CPU. El objetivo de este estudio es es catalogar el uso actual e histórico de la GPU para la computación de propósito general, y para proporcionar un recurso central para los desarrolladores de software GPGPU.
El término fue acuñado GPGPU y GPGPU.org fue fundada por Mark Harris en 2002, cuando reconoció una tendencia inicial de las GPU utilizando para aplicaciones nográficas. GPGPU.org ha pasado de ser un sitio oscuro visitado por unos pocos en un destino popular para los desarrolladores e investigadores.
Hosting para GPGPU.org es amablemente proporcionada por ibiblio.
GPGPU.org todavía se mantiene por Mark Harris. Dominik Göddeke se ha desempeñado como asistente de editor desde 2008, y como moderador del foro, desde el año 2006. Dominik también creó muchasde las páginas de desarrolladores.
Modelo de programación GPU
Debido a las diferencias fundamentales entre las arquitecturas de la GPU y la CPU, no cualquier problema se puede beneficiar de una implementación en la GPU. En concreto, el acceso a memoria plantea las mayores dificultades. Las CPU están diseñadas para el acceso aleatorio a memoria. Esto favorece la creación de estructuras dedatos complejas, con punteros a posiciones arbitrarias en memoria. En cambio, en una GPU, el acceso a memoria está mucho más restringido. Por ejemplo, en un procesador de vértices (la parte de una GPU diseñada para transformar vértice en aplicaciones 3D), se favorece el modelo scatter, en el que el programa lee en una posición predeterminada de la memoria, pero escribe en una o varias posicionesarbitrarias. En concreto, los algoritmos con un alto grado de paralelismo, sin necesidad de estructuras de datos complejas, y con una alta intensidad aritmética, son los que mayores beneficios obtienen de su implementación en la GPU.
HERRAMIENTAS
Tradicionalmente, el desarrollo de software GPGPU se había hecho bien en lenguaje ensamblador, o bien en alguno de los lenguajes específicos paraaplicaciones gráficas usando la GPU, como GLSL, Cg o HLSL. Recientemente han surgido herramientas para facilitar el desarrollo de aplicaciones GPGPU, al abstraer muchos de los detalles relacionados con los gráficos, y presentar una interfaz de más alto nivel. La herramienta de mayor éxito por el momento es BrookGPU, desarrollada en la Universidad de Stanford, consistente en una extensión a ANSI C queproporciona nuevos tipos de datos y operaciones ("stream", "kernel", "reduction", etc.). Esto automáticamente convertirá una implementación que aprovecha la GPU sin intervención explícita por parte del programador.
LAS 2 PRINCIPALES FIRMAS QUE FABRICAN GPUS Y APOYAN EL GPU COMPUTING
ATI con su tecnología “Stream”
La tecnología ATI Stream es un conjunto avanzado de tecnologías de hardware y softwareque permiten que los procesadores gráficos AMD (GPUs) trabajen en conjunto con el procesador central del equipo (CPUs), para acelerar aplicaciones más allá del procesamiento tradicional de gráficos y video. Esto permite que las plataformas equilibradas ejecuten tareas intensas más eficientemente, proporcionando una mejor experiencia con aplicaciones para el usuario final.
Junto con los...
Regístrate para leer el documento completo.