Por: Ernesto Y. Soto Rivas G

Slides:



Advertisements
Presentaciones similares
Microprocesadores Componentes básicos..
Advertisements

Desarrollo de Juegos de Video en 3D
Pipelines o canales de ejecución
Herramientas y bibliotecas para gráficas
Graphics Processing Units (GPUs)
Presentación y organización del curso
Tecnologías Cliente / Servidor Capitulo III Richard Jiménez V. clienteserver.wordpress.com.
Hardware y Software.
Módulo I: PRINCIPIOS Y CONCEPTOS BÁSICOS DE LA INFORMÁTICA (20%)
Java Binding for the OpenGL API Unidad III. ¿Qué es OpenGL? Open GL es un entorno de desarrollo portable de aplicaciones gráficas interactivas en 2D y.
Sistema de pesaje dinámico Dynaweight
Ranuras de expansión Puertos
Windows XP sp3.
Mejoras a las Máquinas Von Neumann
INTEGRANTES: RONALD ROQUE JORGE CHAIÑA MARCO CCANSAYA BRYAN FIGUEROA UNIDADES DE SALIDA.
Arquitectura del Computador
PAULA ANDREA CHAVEZ C. GRADO: PROFESOR: JOSE WILSON QUINTERO
HARDWARE Hardware corresponde a todas las partes físicas y tangibles[1] de una computadora: sus componentes eléctricos, electrónicos, electromecánicos.
Computadoras analógicas Miden magnitudes físicas que se distribuyen en escala continua como pueden ser la temperatura y la presión. Este tipo de computadoras.
María Alejandra Salazar Cano Grado:6-5
OMAR SANCHEZ ROBLES HECTOR PEREZ GARCIA. “Sistemas de cómputo compuesto por un gran número de CPU´s conectados mediante una red de alta velocidad”, Tanenbaum.
BUS DE DATOS.
ARQUITECTURA CUDA Integrantes: Jose D Apollo
Fundamentos de programación Organización de una computadora.
Fundamentos de Programación Resolución de Problemas con Computadoras y Herramientas de Programación.
Hilos En La Computación. (THREADS).
Microprocesadores INTEL VS AMD.
FICHEROS DE IMAGEN FUENTES WEB: Gráficos GIF & JPEG, Ramón Montero, 1998 Formatos para la Wb, Luciano Moreno, 2005.
Alejandro Samarín Lionel Aster Mena García Sergio Armas Pérez.
SISTEMAS OPERATIVOS.
GPUs Rayco González Sicilia Microprocesadores para Comunicaciones 5º ETSIT.
TEMA 10. SISTEMAS OPERATIVOS DISTRIBUIDOS
PROGRAMACIÓN PARALELA Modelos de programación paralela Modelos computacionales Paradigmas de programación paralela Programación en memoria compartida:
HARDWARE Asier Indurain.
Evolución del procesador
Alejandro Samarín Lionel Aster Mena García Sergio Armas Pérez.
NOTA: Para cambiar la imagen de esta dispositiva, seleccione la imagen y elimínela. A continuación haga clic en el icono Imágenes en el marcador de posición.
Integrante: Yohandry Cueto Carnet: # Contenido Kernel Linux Limitaciones del Kernel Linux Kernel Mach Que es Hurd Arquitectura Ventajas Distribuciones.
Sistemas Distribuidos
Dispositivos gráficos de salida
Página 1 09/01/2005 Materia: Tecnología de la Información Curso: Profesora Ariana Rosenthal Tecnología de la Información Profesora Ariana Rosenthal Hardware.
Partes y componentes. Los ordenadores están compuestos por hardware y por software. Nos vamos a centrar en el hardware. Video explicativo.
TIPOS DE PROCESADOR INTEL PENTIUM II El procesador utiliza la tecnología de alto desempeño Dual Independent Bus para entregar un amplio ancho de banda.
El Microprocesador.
Tecnología de la Información y Comunicación 1
8.4 Toolbox de Matlab.
CPU, POR CENTRAL PROCESSING UNIT O UNIDAD CENTRAL DE PROCESAMIENTO, ES EL CEREBRO DEL ORDENADOR PERMITE EL PROCEZAMIENTO DE INFORMACION NUMERICA INGRESADA.
Linux Sistema operativo.
TIPOS DE SISTEMAS OPERATIVOS
EL MICROPROCESADOR.
Conjunto de Prácticas para el manejo de dispositivos y herramientas para entornos virtuales.
Generación De Los PC y Clasificación
Procesadores El procesador es el elemento vital del PC.
Universidad del Valle de Tlaxcala Maestría en Educación TIC’s aplicadas Alumnas: Sánchez peregrina Maricarmen.
INTEGRANTES: ONEIDA OSORIO VILLA, JUAN CAMILO SÁNCHEZ BAENA, JOANNA SÁNCHEZ, LUISA VILLA, JIMMY MORALES, BRIAM ZAMBRANO.
LOGO CPU. COMPANY LOGO DEFINICIÓNHISTORIA CPU DE TRANSISTORE S Y DE CIRCUITOS INTEGRADOS DISCRETOS MICROPROCES ADORES OPERACIÓN DEL CPU.
Mónica Quintana Pineda
Naime Cecilia del Toro Alvarez
Hardware El término hardware (pronunciación AFI: [ˈhɑːdˌwɛə] o [ˈhɑɹdˌwɛɚ]) se refiere a todas las partes tangibles de un sistema informático; sus componentes.
DISCOS RAID (Redundant Array of Independent Disks)
Ingeniería en Informática F UNDAMENTOS DE C OMPUTACIÓN B ACHILLERATO EN I NGENIERÍA I NFORMÁTICA L IC. C ARLOS H. G UTIÉRREZ L EÓN.
PROCESADORES DE HARDWARE
HARDWARE – SOFTWARE - MANTENIMIENTO Presentado por: Andrey Muñoz Dayana Cubillos Sandra Hernández.
Es la autorización de la información. ¿Qué es Computación?
Felipe Díaz Toro Daniel López. El procesador, también conocido como CPU o micro, es el cerebro del PC. Se encarga de hacer funcionar a las aplicaciones.
PROCESADOR.- El procesador es el cerebro del sistema, encargado de procesar toda la información. Básicamente, es el "cerebro" de la computadora. Prácticamente,
Desarrollador Profesional de Juegos Programación III Unidad II Hilos de ejecución Threads.
Presentación De UML Lenguaje estándar para escribir planos de software Se usa para visualizar, especificar, construir y documentar los artefactos de un.
INFORMÁTICA BÁSICA Está compuesto por periféricos de entrada/salida, almacenamiento y usuarios interrelacionados con el propósito de satisfacer.
Universidad Tecnológica de Aguascalientes Informática I.
Transcripción de la presentación:

Por: Ernesto Y. Soto Rivas G00387821 CUDA Por: Ernesto Y. Soto Rivas G00387821

¿Qué es CUDA? CUDA es un lenguaje de programación que utiliza el Graphical Processing Unit (GPU) Permite que se pueda hacer calculos de forma paralela dándole una aceleración significativa. Se utiliza con programas en C.

¿Qué dispositivos pueden aprovechar CUDA? CUDA es un lenguaje implementado por Nvidia uno de los lideres en Tarjetas de Video. Solo puede ser utilizado en tarjetas de video Nvidia. Cualquier GPU después de la generación G80 (lanzada en el 2006) pueden ser utilizados para programar bajo CUDA. CUDA fue desarrollado en el 2007.

Ejemplos de hardware para CUDA: Nvidia Titan, lanzada en el 2013 es una de las tarjetas de un sólo núcleo más rápida y más cara ($1000+) jamás lanzada en la historia del mercado gráfico. Nvidia GTX 8800 (G80) lanzada en el 2006 fue una de las tarjetas más innovadoras, rápidas en la historia de la industria gráfica.

¿Por qué CUDA? Las tarjetas gráficas o GPU’s están diseñadas para realizar cálculos paralelos de alta velocidad para la visualización de gráficos, como juegos por ejemplo. Utilizar los recursos disponibles más de 100 millones gpu ya están desplegados. 30-100x de velocidad a lo largo de otros microprocesadores para algunas aplicaciones.

GPU vs CPU A diferencia del cpu gpu tiene un montón de pequeñas unidades lógicas aritméticas. Esto permite que para muchos cálculos paralelos, como el cálculo de un color para cada píxel en la pantalla. Imagen utilizada de la guía de programación CUDA

¿Cómo trabaja CUDA? GPUs ejecutan un kernel (grupo de trabajo) a la vez. Cada núcleo tiene bloques, que son grupos independientes de ALUs. Cada bloque se ve comprometida de hilos, que son el nivel de cómputo. Los hilos en cada bloque suelen trabajar juntos para calcular un valor.

Memoria GPU Hilos dentro del mismo bloque pueden compartir memoria. En CUDA, el envío de información desde el CPU a la GPU es a menudo la parte más costosa del cálculo. Para cada hilo, la memoria local es el más rápido, seguido de la memoria compartida, memoria global, constante y textura son todos más lento.

Como el trabajo es distribuido… Cada hilo conoce las coordenadas X e Y del bloque que se encuentra, y las coordenadas de donde se encuentra en el bloque. Estas posiciones se pueden usar para calcular un ID de hilo único para cada subproceso. El trabajo computacional hecho dependerá del valor de este ID de hilo. Ejemplo: el ID del hilo corresponde a un grupo de elementos de matriz.

Ventajas Proporciona memoria compartida Costo efectivo La demanda de la industria de juegos en tarjetas gráficas ha obligado a un gran trabajo de investigación y el dinero en la mejora de la GPU Escalabilidad transparente

Desventajas A pesar de tener cientos de núcleos CUDA no es tan flexible como los CPUs. No es tan eficaz para el ordenador personal

Consideraciones importantes de programación… Todos los hilos en un bloque se ejecutarán en paralelo si el todos están siguiendo el mismo código, y su importante eliminar ramas lógicas, para mantener todos los subprocesos que se ejecutan al mismo tiempo. Hilos sólo pueden hacer referencia a la memoria local y memoria compartida, por lo que cualquier información necesaria se deben poner en la memoria compartida.

Ejemplos de Aplicaciones CUDA… Aplicaciones CUDA deben ejecutarse en operaciones paralelas de gran cantidad de datos, y se procese intensiva. Ejemplos: Simulación Dinámica Molecular Manipulación de Vídeo / Codificación de audio Imágenes en 3D y Visualización Operaciones de la Matriz

Demostraciones del CUDA… Una ventaja de CUDA es que se puede hacer estos demos en tiempo real en una computadora de escritorio y se ven mucho mejor también: Demo 1 Demo 2 Demo 3

CUDA & RCL Existen más de 170 herramientas CUDA prefabricados, y serían bloques de construcción útiles para aplicaciones Las áreas incluyen proyección de imagen, video y procesamiento de audio, dinámica molecular, procesamiento de señales CUDA también puede ayudar a una aplicación existente a cumplir con su necesidad de velocidad Procesar grandes conjuntos de datos más rápido Puede alcanzar cerca de procesamiento de datos reales

Trabaja bien con otros… Nvidia creó un MATLAB plug-in para la aceleración estándar de FFT MATLAB 2D. CUDA tiene caja de herramientas de gráficos para matlab. Más de MATLAB plug-ins por están por venir.

En Conclusión… Nvidia he logrado implementar un lenguaje para poder utilizar la potencia máxima de sus GPU’s. Hoy en día el mercado de las GPU ha evolucionado mucho más rápido que el CPU. Con el tiempo el CPU ya no será necesario ya que todo se podría implementar desde el mismo GPU con todos los dispositivos cada vez lo que buscan mejorar es el aspecto gráfico el GPU tiene muchas cosas a favor que el CPU, lo único que tiene a Nvidia aguantado es no poder poseer la licencia de Intel x86 de lo contrario sería más dominante de lo que es hoy en día. CUDA representa muchas ventajas de programación pero aún no ha sido completamente aceptada por los codificadores.

Referencias http://www.nvidia.com/content/cudazone/download/Ope nCL/NVIDIA_OpenCL_ProgrammingGuide.pdf http://www.youtube.com/watch?v=RqduA7myZok https://developer.nvidia.com/what-cuda http://blogs.nvidia.com/blog/2012/09/10/what-is-cuda- 2/

FIN