Download Arquitectura (GPU vs CPU)

Document related concepts
no text concepts found
Transcript
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/