GPUs Rayco González Sicilia Microprocesadores para Comunicaciones 5º ETSIT.

13
GPUs Rayco González Sicilia Microprocesadores para Comunicaciones 5º ETSIT

Transcript of GPUs Rayco González Sicilia Microprocesadores para Comunicaciones 5º ETSIT.

Page 1: GPUs Rayco González Sicilia Microprocesadores para Comunicaciones 5º ETSIT.

GPUs

Rayco González Sicilia

Microprocesadores para Comunicaciones

5º ETSIT

Page 2: GPUs Rayco González Sicilia Microprocesadores para Comunicaciones 5º ETSIT.

Índice

Introducción

Arquitectura (GPU vs CPU)

Ejemplos (NVIDIA, ATI)

Aplicaciones (GPGPU, CUDA)

Enlaces

Page 3: GPUs Rayco González Sicilia Microprocesadores para Comunicaciones 5º ETSIT.

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.

Page 4: GPUs Rayco González Sicilia Microprocesadores para Comunicaciones 5º ETSIT.

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.

Page 5: GPUs Rayco González Sicilia Microprocesadores para Comunicaciones 5º ETSIT.

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).

Page 6: GPUs Rayco González Sicilia Microprocesadores para Comunicaciones 5º ETSIT.

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.

Page 7: GPUs Rayco González Sicilia Microprocesadores para Comunicaciones 5º ETSIT.

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.

Page 8: GPUs Rayco González Sicilia Microprocesadores para Comunicaciones 5º ETSIT.

Ejemplo: NVidia

Page 9: GPUs Rayco González Sicilia Microprocesadores para Comunicaciones 5º ETSIT.

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).

Page 10: GPUs Rayco González Sicilia Microprocesadores para Comunicaciones 5º ETSIT.

Ejemplo: ATI

Page 11: GPUs Rayco González Sicilia Microprocesadores para Comunicaciones 5º ETSIT.

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.

Page 12: GPUs Rayco González Sicilia Microprocesadores para Comunicaciones 5º ETSIT.

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.

Page 13: GPUs Rayco González Sicilia Microprocesadores para Comunicaciones 5º ETSIT.

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/