SlideShare una empresa de Scribd logo
1 de 28
INTRODUCCION
A LA
COMPUTACION
PARALELA CON
GPUS
CONTENIDO
 GPU
 Paralelismo
 GPGPU
 Introducción a CUDA
 Aplicaciones
 Conclusiones
GPU ???
 Unidad de procesamiento gráfico (GPUs) son procesadores de varios núcleos que ofrecen alto rendimiento
 Procesador dedicado al procesamiento de gráficos u operaciones de coma flotante
 la GPU es la cerebro de nuestras placas de videos y la que se encarga de procesar cada uno de las imágenes
que vemos en nuestros monitores
 GPU ayuda para el procesamiento gráfico en 3D para suavizar los bordes de las figuras para darles un aspecto
más realista.
 Hoy en día las GPU son muy potentes y pueden incluso superar la frecuencia de reloj de una CPU
antigua (más de 800MHz)
 Arquitecturas Many-core con una cantidad ingente de núcleos que realizan operaciones sobre múltiples
datos
CONTENIDO
 GPU
 Paralelismo
 GPGPU
 Introducción a CUDA
 Aplicaciones
 Conclusiones
PARALELISMO
 El paralelismo es una forma de computación en la cual varios cálculos pueden realizarse
simultáneamente.
 Basado en el principio de dividir los problemas grandes para obtener varios problemas pequeños, que
son posteriormente solucionados en paralelo. (Divide y vencerás)
SIMD
SIMD: Una instrucción múltiples datos
 Todos los núcleos ejecutan la misma instrucción al mismo tiempo.
 Solo se necesita decodificar la instrucción una única vez para todos los núcleos
CONTENIDO
 GPU
 Paralelismo
 GPGPU
 Introducción
 CPU Y GPU
Evolución
 Introducción a CUDA
 Aplicaciones
 Conclusiones
 Computación de propósito general sobre procesadores gráficos
 Cómputo de aplicaciones tradicionalmente ejecutadas sobre CPUs
 Aprovechamiento capacidades GPU:
• Grandes vectores de datos
• Paralelismo de grano fino SIMD
EVOLUCION GPU
• 1.Ordenadores sin tarjeta gráfica.
• 2.Aparición de GPUs para la representación en pantalla.
• 3.GPUs para procesamiento gráfico: industria del videojuego (3dfx,NVIDIA,ATI).
• 4.En 2004 surge la idea de utilizar las GPU para computación de alto rendimiento (HPC).
• 5.2007. NVIDIA ve oportunidad en el mercado del HPC y desarrolla CUDA. (Lenguaje específico para
aprovechar la capacidad de las GPU).
• 6.Actualmente NVIDIA ha tenido éxito en la computación GPGPU. Los supercomputadores top utilizan
clústers de GPUs para aumentar su potencia computacional.
EL GRAN DESARROLLO DE LAS GPU
 La evolución de las tarjetas gráficas ha venido acompañado de un gran crecimiento en el mundo de los
videojuegos y las aplicaciones 3D
 Gran producción de chips gráficos por parte de grandes fabricantes:
• NVIDIA
• AMD(ATI)
• IBM: desarrollo en colaboración con Sony y Toshiba procesadores Cell
• Intel: Desarrollo chips GPU Larrabee
COMPARACION ENTRE CPU Y GPU
 Intel Core 2 / Xeon / i7
4-6 núcleos MIMD
Pocos registros, cache multi-nivel
10-30 GB/s ancho de banda hacia la memoria principal
 NVIDIA GTX480
512 núcleos, organizados en 16 unidades SM cada una con 32 núcleos.
Muchos registros, inclusión cachés nivel 1 y 2.
5 GB/s ancho de banda hacia el procesador HOST.
180 GB/s ancho de banda memoria tarjeta gráfica.
CONTENIDO
 GPU
 Paralelismo
 GPGPU
 Introducción a CUDA
 Aplicaciones
 Conclusiones
QUE ES CUDA??
• CUDA es una nueva tecnología desarrollada por NVIDIA, que permite utilizar la GPU (Unidad de
Procesamiento Grafico) para tareas que antes estaban procesadas únicamente por la CPU (Unidad
Central de Procesamiento).
• Por ejemplo rende rizado de videos, y aplicaciones de investigación medica y científica en la que se
requieren una gran cantidad de recursos en cuanto a capacidad de procesamiento se refiere
COMO NACE CUDA???
• NVIDIA, a la vista del potencial mercado existente, desarrolló una especie de lenguaje C para gráficos
(“Cg”), que luego evolucionaría hasta llegar a CUDA, un completo API de programación y una
arquitectura que permite a los programadores crear aplicaciones que se aprovechen de la potencia de
cálculo de las tarjetas gráficas
BENEFICIOS DE LA TECNOLOGIA CUDA
• El procesamiento y rende rizado de videos.
• A muchos nos tocado editar algún video, para darnos cuenta al querer rende rizar, si el video es de 20
minutos el proceso de rende rizado puede llevar casi 3 horas (dependiendo de los recursos de tu PC).
• Este proceso se acelera hasta 10 veces si utilizamos un programa que soporte la tecnología CUDA.
QUE PROGRAMAS SOPORTAN LA
TEGNOLOGIA CUDA?
• Entre las recomendadas por NVIDIA tenemos Badaboom.
• Otro aplicación que Soporta CUDA es Sony Vegas PRO v.10
• Photoshop en su ultima version tambien ofrece soporte CUDA.
• El siguiente gráfico muestra la mejora en el rendimiento cuando se hacen conversiones con y sin
CUDA/AMD APP. Los resultados se muestran en minutos.
HARDWARE: UBICACIÓN GPU
La GPU se sitúa sobre una placa gráfica pci-e dentro de un computador con uno o varios
núcleos.
HARDWARE: ARQUITECTURA
• La GPU dedica más transistores al procesamiento de
datos
HARDWARE: GENERACIONES DE CHIPS
GRÁFICOS
• A nivel de GPU, los detalles dependen de la generación de los chips.
• Primeras generaciones
GeForce Series 8,9, GTX2XX
Tesla C1060, S1070 para HPC, sin salida gráfica, más memoria.
• Generaciones actuales
Nueva arquitectura Fermi: GeForce GTX4XX
Tesla C2050,S2050 para HPC.
SIMT: UNA INSTRUCCIÓN MÚLTIPLES HILOS
• Característica clave de los núcleos dentro de un SM.
•Todos los núcleos ejecutan la misma instrucción simultáneamente pero con distintos datos
•Similar a la computación en los supercomputadores CRAY
•Mínimo de 32 hilos realizando la misma tarea (casi) al mismo tiempo
CONTENIDO
 GPU
 Paralelismo
 GPGPU
 Introducción a CUDA
 Aplicaciones
 Conclusiones
APLICACIONES EN CUDA
• En la pagina de www.nvidia.com podemos encontrar una larga lista de aplicaciones especificas y modificaciones de
programas para aprovechar esta tecnología, para diferentes ámbitos de aplicación:
• Gobierno y defensa
• Dinámica molecular
• Bioinformática
• Electrodinámica y electromagnetismo
• Imágenes medicas
• Combustibles y gases
• Computación financiera
• Extensiones de Matlab
• Tratamiento de video y visión por computador
• Modelado del tiempo y los océanos
APLICACIONES EN CUDA
• Actualmente estamos trabajando en:
Aceleración algoritmos redes neuronales auto-organizativas (GNG,NG)
Reconstrucción escenarios 3D
Representación 3D objetos
Se está utilizando para acelerar AMBER, un simulador de dinámica molecular empleado por más de
60.000 investigadores del ámbito académico y farmacéutico de todo el mundo para acelerar el
descubrimiento de nuevos medicamentos.
CONTENIDO
 GPU
 Paralelismo
 GPGPU
 Introducción a CUDA
 Aplicaciones
 Conclusiones
INNOVACIONES
• Microsoft y Apple (Windows 8 y Snow Leopard) está convirtiendo el GPU Computing en una tecnología
de uso masivo. La GPU no actúa únicamente como procesador gráfico, sino como procesador paralelo
de propósito general accesible para cualquier aplicación.
CONCLUSIONES
• CUDA es una tecnología que permite obtener grandes rendimientos para problemas con un alto
paralelismo.
• Hay que tener claro su funcionamiento para saber si es adecuado y obtener el mayor rendimiento
posible.
• Los sistemas informáticos están pasando de realizar el “procesamiento central” en la CPU a realizar
“coprocesamiento” repartido entre la CPU y la GPU.

Más contenido relacionado

Destacado (7)

Computación paralela con gp us cuda
Computación paralela con gp us cudaComputación paralela con gp us cuda
Computación paralela con gp us cuda
 
OpenHPI - Parallel Programming Concepts - Week 4
OpenHPI - Parallel Programming Concepts - Week 4OpenHPI - Parallel Programming Concepts - Week 4
OpenHPI - Parallel Programming Concepts - Week 4
 
FAST MAP PROJECTION ON CUDA.ppt
FAST MAP PROJECTION ON CUDA.pptFAST MAP PROJECTION ON CUDA.ppt
FAST MAP PROJECTION ON CUDA.ppt
 
GPU Computing with Ruby
GPU Computing with RubyGPU Computing with Ruby
GPU Computing with Ruby
 
Cuda Architecture
Cuda ArchitectureCuda Architecture
Cuda Architecture
 
GPU - An Introduction
GPU - An IntroductionGPU - An Introduction
GPU - An Introduction
 
Introduction to CUDA
Introduction to CUDAIntroduction to CUDA
Introduction to CUDA
 

Similar a Equipo 2 gpus

Tarjeta De Video
Tarjeta De VideoTarjeta De Video
Tarjeta De Video
guesta14383
 
Diana katherine morales_mejia_2009152033_-_gpu2
Diana katherine morales_mejia_2009152033_-_gpu2Diana katherine morales_mejia_2009152033_-_gpu2
Diana katherine morales_mejia_2009152033_-_gpu2
katikaone
 
Tarjetas Graficas
Tarjetas GraficasTarjetas Graficas
Tarjetas Graficas
klmnt
 
La Evolución del sistema que está cambiando el mundo HPC (High Performance Co...
La Evolución del sistema que está cambiando el mundo HPC (High Performance Co...La Evolución del sistema que está cambiando el mundo HPC (High Performance Co...
La Evolución del sistema que está cambiando el mundo HPC (High Performance Co...
Daniel Osorio
 

Similar a Equipo 2 gpus (20)

GPUs para Científicos
GPUs para CientíficosGPUs para Científicos
GPUs para Científicos
 
G P Un Vidia
G P Un VidiaG P Un Vidia
G P Un Vidia
 
Moodle
MoodleMoodle
Moodle
 
GPU
GPUGPU
GPU
 
Tarjeta De Video
Tarjeta De VideoTarjeta De Video
Tarjeta De Video
 
Diana katherine morales_mejia_2009152033_-_gpu2
Diana katherine morales_mejia_2009152033_-_gpu2Diana katherine morales_mejia_2009152033_-_gpu2
Diana katherine morales_mejia_2009152033_-_gpu2
 
11 tarjetas de video
11 tarjetas de video11 tarjetas de video
11 tarjetas de video
 
Tarjetas Graficas
Tarjetas GraficasTarjetas Graficas
Tarjetas Graficas
 
Gpu Lorena[1]
Gpu Lorena[1]Gpu Lorena[1]
Gpu Lorena[1]
 
Tarjetas Graficas
Tarjetas GraficasTarjetas Graficas
Tarjetas Graficas
 
Tarjetas graficas-119672189840656-4
Tarjetas graficas-119672189840656-4Tarjetas graficas-119672189840656-4
Tarjetas graficas-119672189840656-4
 
EL Gpu.
EL Gpu.EL Gpu.
EL Gpu.
 
Cuestionario sobre Placas de Video y Monitores
Cuestionario sobre Placas de Video  y MonitoresCuestionario sobre Placas de Video  y Monitores
Cuestionario sobre Placas de Video y Monitores
 
Exposicion de diseño
Exposicion de diseñoExposicion de diseño
Exposicion de diseño
 
Presentacionintelvsamd
PresentacionintelvsamdPresentacionintelvsamd
Presentacionintelvsamd
 
Turbo cache techbrief_v02_032105_es
Turbo cache techbrief_v02_032105_esTurbo cache techbrief_v02_032105_es
Turbo cache techbrief_v02_032105_es
 
Turbo cache nvidia
Turbo cache nvidiaTurbo cache nvidia
Turbo cache nvidia
 
Microprocesador AMD
Microprocesador  AMDMicroprocesador  AMD
Microprocesador AMD
 
La Evolución del sistema que está cambiando el mundo HPC (High Performance Co...
La Evolución del sistema que está cambiando el mundo HPC (High Performance Co...La Evolución del sistema que está cambiando el mundo HPC (High Performance Co...
La Evolución del sistema que está cambiando el mundo HPC (High Performance Co...
 
Partes internas del computador
Partes internas del computadorPartes internas del computador
Partes internas del computador
 

Último

redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
nicho110
 

Último (12)

redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXI
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 

Equipo 2 gpus

  • 2. CONTENIDO  GPU  Paralelismo  GPGPU  Introducción a CUDA  Aplicaciones  Conclusiones
  • 3. GPU ???  Unidad de procesamiento gráfico (GPUs) son procesadores de varios núcleos que ofrecen alto rendimiento  Procesador dedicado al procesamiento de gráficos u operaciones de coma flotante  la GPU es la cerebro de nuestras placas de videos y la que se encarga de procesar cada uno de las imágenes que vemos en nuestros monitores  GPU ayuda para el procesamiento gráfico en 3D para suavizar los bordes de las figuras para darles un aspecto más realista.
  • 4.  Hoy en día las GPU son muy potentes y pueden incluso superar la frecuencia de reloj de una CPU antigua (más de 800MHz)  Arquitecturas Many-core con una cantidad ingente de núcleos que realizan operaciones sobre múltiples datos
  • 5. CONTENIDO  GPU  Paralelismo  GPGPU  Introducción a CUDA  Aplicaciones  Conclusiones
  • 6. PARALELISMO  El paralelismo es una forma de computación en la cual varios cálculos pueden realizarse simultáneamente.  Basado en el principio de dividir los problemas grandes para obtener varios problemas pequeños, que son posteriormente solucionados en paralelo. (Divide y vencerás)
  • 7. SIMD SIMD: Una instrucción múltiples datos  Todos los núcleos ejecutan la misma instrucción al mismo tiempo.  Solo se necesita decodificar la instrucción una única vez para todos los núcleos
  • 8. CONTENIDO  GPU  Paralelismo  GPGPU  Introducción  CPU Y GPU Evolución  Introducción a CUDA  Aplicaciones  Conclusiones
  • 9.  Computación de propósito general sobre procesadores gráficos  Cómputo de aplicaciones tradicionalmente ejecutadas sobre CPUs  Aprovechamiento capacidades GPU: • Grandes vectores de datos • Paralelismo de grano fino SIMD
  • 10. EVOLUCION GPU • 1.Ordenadores sin tarjeta gráfica. • 2.Aparición de GPUs para la representación en pantalla. • 3.GPUs para procesamiento gráfico: industria del videojuego (3dfx,NVIDIA,ATI). • 4.En 2004 surge la idea de utilizar las GPU para computación de alto rendimiento (HPC). • 5.2007. NVIDIA ve oportunidad en el mercado del HPC y desarrolla CUDA. (Lenguaje específico para aprovechar la capacidad de las GPU). • 6.Actualmente NVIDIA ha tenido éxito en la computación GPGPU. Los supercomputadores top utilizan clústers de GPUs para aumentar su potencia computacional.
  • 11. EL GRAN DESARROLLO DE LAS GPU  La evolución de las tarjetas gráficas ha venido acompañado de un gran crecimiento en el mundo de los videojuegos y las aplicaciones 3D  Gran producción de chips gráficos por parte de grandes fabricantes: • NVIDIA • AMD(ATI) • IBM: desarrollo en colaboración con Sony y Toshiba procesadores Cell • Intel: Desarrollo chips GPU Larrabee
  • 12. COMPARACION ENTRE CPU Y GPU  Intel Core 2 / Xeon / i7 4-6 núcleos MIMD Pocos registros, cache multi-nivel 10-30 GB/s ancho de banda hacia la memoria principal  NVIDIA GTX480 512 núcleos, organizados en 16 unidades SM cada una con 32 núcleos. Muchos registros, inclusión cachés nivel 1 y 2. 5 GB/s ancho de banda hacia el procesador HOST. 180 GB/s ancho de banda memoria tarjeta gráfica.
  • 13. CONTENIDO  GPU  Paralelismo  GPGPU  Introducción a CUDA  Aplicaciones  Conclusiones
  • 14. QUE ES CUDA?? • CUDA es una nueva tecnología desarrollada por NVIDIA, que permite utilizar la GPU (Unidad de Procesamiento Grafico) para tareas que antes estaban procesadas únicamente por la CPU (Unidad Central de Procesamiento). • Por ejemplo rende rizado de videos, y aplicaciones de investigación medica y científica en la que se requieren una gran cantidad de recursos en cuanto a capacidad de procesamiento se refiere
  • 15. COMO NACE CUDA??? • NVIDIA, a la vista del potencial mercado existente, desarrolló una especie de lenguaje C para gráficos (“Cg”), que luego evolucionaría hasta llegar a CUDA, un completo API de programación y una arquitectura que permite a los programadores crear aplicaciones que se aprovechen de la potencia de cálculo de las tarjetas gráficas
  • 16. BENEFICIOS DE LA TECNOLOGIA CUDA • El procesamiento y rende rizado de videos. • A muchos nos tocado editar algún video, para darnos cuenta al querer rende rizar, si el video es de 20 minutos el proceso de rende rizado puede llevar casi 3 horas (dependiendo de los recursos de tu PC). • Este proceso se acelera hasta 10 veces si utilizamos un programa que soporte la tecnología CUDA.
  • 17. QUE PROGRAMAS SOPORTAN LA TEGNOLOGIA CUDA? • Entre las recomendadas por NVIDIA tenemos Badaboom. • Otro aplicación que Soporta CUDA es Sony Vegas PRO v.10 • Photoshop en su ultima version tambien ofrece soporte CUDA.
  • 18. • El siguiente gráfico muestra la mejora en el rendimiento cuando se hacen conversiones con y sin CUDA/AMD APP. Los resultados se muestran en minutos.
  • 19. HARDWARE: UBICACIÓN GPU La GPU se sitúa sobre una placa gráfica pci-e dentro de un computador con uno o varios núcleos.
  • 20. HARDWARE: ARQUITECTURA • La GPU dedica más transistores al procesamiento de datos
  • 21. HARDWARE: GENERACIONES DE CHIPS GRÁFICOS • A nivel de GPU, los detalles dependen de la generación de los chips. • Primeras generaciones GeForce Series 8,9, GTX2XX Tesla C1060, S1070 para HPC, sin salida gráfica, más memoria. • Generaciones actuales Nueva arquitectura Fermi: GeForce GTX4XX Tesla C2050,S2050 para HPC.
  • 22. SIMT: UNA INSTRUCCIÓN MÚLTIPLES HILOS • Característica clave de los núcleos dentro de un SM. •Todos los núcleos ejecutan la misma instrucción simultáneamente pero con distintos datos •Similar a la computación en los supercomputadores CRAY •Mínimo de 32 hilos realizando la misma tarea (casi) al mismo tiempo
  • 23. CONTENIDO  GPU  Paralelismo  GPGPU  Introducción a CUDA  Aplicaciones  Conclusiones
  • 24. APLICACIONES EN CUDA • En la pagina de www.nvidia.com podemos encontrar una larga lista de aplicaciones especificas y modificaciones de programas para aprovechar esta tecnología, para diferentes ámbitos de aplicación: • Gobierno y defensa • Dinámica molecular • Bioinformática • Electrodinámica y electromagnetismo • Imágenes medicas • Combustibles y gases • Computación financiera • Extensiones de Matlab • Tratamiento de video y visión por computador • Modelado del tiempo y los océanos
  • 25. APLICACIONES EN CUDA • Actualmente estamos trabajando en: Aceleración algoritmos redes neuronales auto-organizativas (GNG,NG) Reconstrucción escenarios 3D Representación 3D objetos Se está utilizando para acelerar AMBER, un simulador de dinámica molecular empleado por más de 60.000 investigadores del ámbito académico y farmacéutico de todo el mundo para acelerar el descubrimiento de nuevos medicamentos.
  • 26. CONTENIDO  GPU  Paralelismo  GPGPU  Introducción a CUDA  Aplicaciones  Conclusiones
  • 27. INNOVACIONES • Microsoft y Apple (Windows 8 y Snow Leopard) está convirtiendo el GPU Computing en una tecnología de uso masivo. La GPU no actúa únicamente como procesador gráfico, sino como procesador paralelo de propósito general accesible para cualquier aplicación.
  • 28. CONCLUSIONES • CUDA es una tecnología que permite obtener grandes rendimientos para problemas con un alto paralelismo. • Hay que tener claro su funcionamiento para saber si es adecuado y obtener el mayor rendimiento posible. • Los sistemas informáticos están pasando de realizar el “procesamiento central” en la CPU a realizar “coprocesamiento” repartido entre la CPU y la GPU.