GPUs
Rayco González Sicilia
Microprocesadores para Comunicaciones
5º ETSIT
Índice
Introducción
Arquitectura (GPU vs CPU)
Ejemplos (NVIDIA, ATI)
Aplicaciones (GPGPU, CUDA)
Enlaces
Introducción
La unidad de procesamiento gráfico o GPU (Graphics Processing Unit)
es un procesador dedicado al procesamiento de gráficos.
Aligera la carga de trabajo del procesador central en aplicaciones
como los videojuegos y/o aplicaciones 3D interactivas.
Implementa operaciones gráficas llamadas primitivas optimizadas para
el procesamiento gráfico.
Una de las primitivas más comunes para el procesamiento gráfico en
3D es el antialiasing, que suaviza los bordes de las figuras para darles
un aspecto más realista. También existen otras para dibujar
rectángulos, triángulos, círculos y arcos.
Arquitectura
Altamente segmentadas → gran cantidad de unidades funcionales.
El vértice y el píxel son las principales unidades que maneja la GPU.
Memoria de gran rapidez.
Vertex shader: rotación o movimiento de las figuras, luego se define la
parte que se va a ver (clipping), y los vértices se transforman en
píxeles mediante el proceso de rasterización.
Pixel shader: transformaciones como la aplicación de texturas, aquí
está el cuello de botella del chip. Luego se aplican efectos como el
antialiasing, blending y el efecto niebla.
Arquitectura (GPU vs CPU)
Alta especialización de las GPUs, es posible dedicar más silicio en su
diseño para realizar esa tarea más eficientemente. Por ejemplo,
cálculo con valores en coma flotante, predominantes en gráficos 3D.
Muchas aplicaciones gráficas conllevan un alto grado de paralelismo
inherente, al ser sus unidades fundamentales de cálculo (vértices y
píxeles) completamente independientes.
Las GPUs actuales suelen tener unos 6 procesadores de vértices (que
ejecutan vertex shaders), y hasta dos o tres veces más procesadores
de píxeles (que ejecutan pixel shaders).
Arquitectura (GPU vs CPU)
Una GPU de 500-600MHz, muy baja frente a 3.8-4 GHz de una CPU, se traduce en una
potencia de cálculo mucho mayor gracias a su arquitectura en paralelo.
CPU tiene arquitectura Von Neumann. GPU se basa en el Modelo Circulante que facilita
el procesamiento en paralelo y la segmentación.
Ejemplo: NVidia
Hardware y software para trabajar, jugar, escuchar música o ver películas.
Soluciones para el hogar con las tarjetas gráficas (GeForce con tecnología PureVideo) y las GPUs empotradas en placas base (nForce con tecnología de almacenamiento MediaShield).
Soluciones empresariales para la visualización de gráficos en varias pantallas con los procesadores gráficos (Quadro) y los sistemas con certificación NVidia Business Platform.
Ejemplo: NVidia
Ejemplo: ATI
Pertenece a AMD, aunque también diseña GPUs integradas en placas base Intel.
Competencia de NVidia, así que ofrece soluciones parecidas.
Para juegos y aplicaciones multimedia en el hogar tanto con sus tarjetas gráficas (Radeon HD series) como con sus GPUs empotradas en placas base (Radeon Xpress series).
Para empresas tiene las GPUs para estaciones de trabajo profesionales para gráficos en 2D y 3D (Fire series).
Ejemplo: ATI
Aplicaciones (GPGPU)
GPU de propósito general (General Purpose GPU). Son capaces de realizar muchas más tareas que el
procesamiento específico de gráficos para las que fueron diseñadas .
Se aprovecha su bajo precio en relación a su potencia de cálculo, gran paralelismo, optimización para cálculos en coma flotante.
Uso en aplicaciones fuera de los gráficos, especialmente en el ámbito científico y de simulación.
Actualmente Microsoft está desarrollando la versión 11 de su API DirectX. Con una nueva tecnología de computación de shaders para que los desarrolladores puedan usar la GPU como procesador en paralelo.
Aplicaciones (CUDA)
Desarrollado por Nvidia, es un lenguaje C estándar para el desarrollo de aplicaciones de procesamiento paralelo en la GPU.
Herramientas gratuitas de desarrollo de CUDA. Acelera aplicaciones como: herramientas de codificación de
audio y vídeo, software para la exploración de gas y petróleo, el diseño de productos, la generación de imágenes en medicina o la investigación científica.
Controlador CUDA dedicado a cálculo con comunicación de datos de alta velocidad entre la GPU y la CPU.
El controlador de CUDA interacciona con los controladores de gráficos OpenGL y DirectX.
Enlaces
Video CPU vs GPU: http://es.youtube.com/watch?v=fKK933KK6Gg http://es.wikipedia.org/wiki/Unidad_de_procesamiento_gr%C3%A1fico http://en.wikipedia.org/wiki/Graphics_processing_unit Nvidia: http://www.nvidia.es/object/cuda_what_is_es.html ATI: http://ati.amd.com/products/index.html Graphics Beginners' Guide:
http://www.tomshardware.com/reviews/graphics-beginners,1288.html http://www.gpgpu.org/ http://www.nextgpu.com/
Top Related