Alejandro Samarín Lionel Aster Mena García Sergio Armas Pérez.

Slides:



Advertisements
Presentaciones similares
El modelo de Von Neumann
Advertisements

Microprocesadores Componentes básicos..
TEMA 1 Introducción a la Programación Concurrente
LICENCIATURA EN SISTEMAS COMPUTACIONALES EN ADMINISTRACION
UNIX COMP 240.
Presentación y organización del curso
Administración de procesos y del procesador.
¿Que es un sistema operativo?
Programación Visual de Sistemas
Sistemas en estratos. Descripción: se organiza en una jerarquía de estratos, estando construido cada uno de ellos sobre el otro que tiene menor jerarquía.
HISTORIA Y CLASIFICACIÓN DE LOS SISTEMAS OPERATIVOS
Programación Orientada a Objetos
Estructuras en Sistemas Operativos
Tema II Unidad de memoria. 2 Unidad de memoria 2.1 Definiciones y conceptos básicos Localización Capacidad Unidad de transferencia
Administración de procesos y del procesador.
SISTEMAS OPERATIVOS.
ESTRUCTURA DE LOS SISTEMAS OPERATIVOS
ConceptoDefiniciónCaracterísticas (palabra clave) Ejemplo/Aplicación Sistema operativo Un sistema operativo es un software, es decir, forma parte de la.
EL COMPUTADOR.
REQUERIMIENTOS PARA ADQUIRIR UN PC JHORMAN ANDRÉS CHÁVEZ SANCHEZ NEIVA
NUCLEO-KERNEL MEMORIA CACHÉ L1-L2 HILOS
Informática Conceptos básicos.
Procesamiento paralelo
Tecnología de la información Unidad: 3 El software Profesor: Fernando J. Martini.
Manejo de Memoria en CUDA (I)
ARQUITECTURA CUDA Integrantes: Jose D Apollo
Diseño de algoritmos La computadora puede realizar procesos y darnos resultados, sin que tengamos la noción exacta de las operaciones que realiza. Con.
Introducción a los Sistemas Operativos
Alejandro Samarín Lionel Aster Mena García Sergio Armas Pérez.
FUNDAMENTOS TECNOLÓGICOS DE INFORMACIÓN
GPUs Rayco González Sicilia Microprocesadores para Comunicaciones 5º ETSIT.
Estructuras en Sistemas Operativos DAISY KATERINE RODRÍGUEZ.
PROGRAMACIÓN PARALELA Modelos de programación paralela Modelos computacionales Paradigmas de programación paralela Programación en memoria compartida:
SISTEMAS OPERATIVOS 1.4 CLASIFICACIÓN DE LOS S.O
Introducción a los SOs.
Tema 8: Introducción a los SOs. Tema 8: 2 Silberschatz, Galvin and Gagne ©2005 Fundamentos de los Computadores (ITT, Sist. Electr.), Introducción.
Sistemas operativos. INTEGRANTES: NELSON ARMAS CINDY SOLEDISPA JUAN CARLOS TAMAYO.
UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO Facultad de Ingeniería Introducción a CUDA C Laboratorio de Intel para la Academia y Cómputo de alto desempeño.
Sistema operativo Unix
Clasificación y estructura. Alejandra Rivero Esteban
Por: Ernesto Y. Soto Rivas G
Amoeba. Maestría en Sistemas Computacionales. Sistemas Operativos. Rodolfo González Garrido, Marzo, del 2008.
Unidad 2 – Gestión de Procesos
Mafer Alejandra Naranjo Daza Laura Castrillón Rojas Ciencias Químicas 10°
SISTEMAS DE INFORMACIÓN GERENCIAL
Procesadores El procesador es el elemento vital del PC.
ARQUICTECTURA DE SERVIDORES
Mónica Quintana Pineda
Son los atributos de un sistema que son visibles para un programador, es decir aquellos atributos que impactan directamente en la ejecución lógica de un.
Procesador core i3 para portátiles y sobremesas. Posee dos núcleos que emulan cuatro hilos de ejecución, fabricados en 32 nanómetros y con GPU integrada.
Software.
Marisol Lozano Edwin Prieto Andres Sosa
María Camila Restrepo C. Mantener la Operatividad del sistema
ARQUITECTURAS DE LOS SERVIDORES El computador tiene 2 aspectos para entender su funcionamiento al nivel de programación: Almacenamiento Procesamiento Para.
BASE DE DATOS DISTRIBUIDAS
Licenciatura Tecnologías de la Información y Comunicación
DOCENTE: DAISY KATERINE RODRÍGUEZ DURÁN. CONTENIDO TEMÁTICO SISTEMAS OPERATIVOS PAQUETES INTEGRADOS DE OFICINA PROCESOS Y PROCEDIMIIENTOS DE UNIDAD ADMINISTRATIVA.
Estructuras en Sistemas Operativos DAISY KATERINE RODRÍGUEZ.
Dispositivos de computo Miguel Ángel Moreno 701M 701.
Miguel Ángel Moreno Meneses 701 Dispositivos de proceso.
Programación Java y Desarrollo de Aplicaciones Modulo 1 Arquitectura de ordenadores Tema 3 Programas.
SOFTWARE. El SOFTWARE es un conjunto de programas, documentos y procedimientos, que las computadoras emplean para procesar los datos.
Software.
Republica Bolivariana de Venezuela Universidad Alonso de Ojeda Facultad de Ingeniería Escuela de Computación Ing. Prof. Leonel Sequera Entrada y Salidas.
QUE ES UNA RED Una red es un grupo de equipos de sobremesa o portátiles (y otros dispositivos de red, como impresoras) conectados entre sí El propósito.
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,
PROCESADORES Angela Rada Yamile Rozo Daniel Roncancio Diego Martínez.
SOFTWARE DE COMPUTADORAS
Sistemas Distribuidos Conceptos Básicos Propiedades MSI. Nancy A. Olivares Ruiz.
Estructura del sistema operativo
Transcripción de la presentación:

Alejandro Samarín Lionel Aster Mena García Sergio Armas Pérez

Introducción Una GPU es un procesador especializado diseñado para el tratamiento gráfico. Su capacidad se basa en un alto grado de paralelismo que puede llegar a hacerla más eficiente que una CPU para manipular cantidades masivas de datos, lo que puede aplicarse para otros algoritmos (GPGPU). Podemos encontrar GPU en tarjetas gráficas, placas base e, incluso, integradas en algunas CPU (Intel HD, AMD Fusion, Proyecto Denver).

Introducción CUDA (Compute Unified Device Architecture) es una estructura de computación paralela desarrollada por NVIDIA que permite codificar algoritmos en sus GPU. El lenguaje de programación empleado es una variación de C que contiene extensiones para trabajar con la GPU y ciertas restricciones. Diversos programadores, ajenos a NVIDIA, han creado wrappers para CUDA en Java, Perl...

Introducción PyCUDA es un wrapper de Python para CUDA desarrollado por Andreas Klöckner. Python es un lenguaje interpretado de muy alto nivel cuyo uso está en auge. Su principal ventaja consiste en abstraer al programador de la gestión de memoria, así como presentar una sintaxis clara y unas potentes estructuras de datos. La librería SciPy provee interesantes funciones.

Modelo CUDA Escalabilidad del paralelismo, basado en tres puntos claves: Jerarquía de hilos. Memoria compartida. Sincronización por barrera.

Modelo CUDA: Hilos Los hilos están contenidos en Bloques, y los bloques dentro de Grids. Identificador de hilo threadIdx. Identificador de bloque blockIdx.

Modelo CUDA: Memoria Cada hilo posee su memoria local privada. Cada bloque de hilos posee su memoria compartida. Todos los hilos pueden acceder a la memoria global. Adicionalmente existen 2 tipos de memorias de solo lectura y acceso global: memoria de texturas y memoria constante.

Modelo CUDA Kernels: ejecutado por hilos en paralelo. Sincronización por Barrera. Estructura Host-Device: Hilos CUDA se ejecutan en device. Resto del programa en el host. Espacios de memoria propios. Transferencia de datos host-device.

Modelo CUDA: Ventajas Incrementar el número de núcleos computacionales. Provee de granularidad fina en el paralelismo de los datos y los hilos. Extiende el lenguaje con un conjunto reducido de instrucciones.

Hardware Utilizado NVIDIA Tesla C2050NVIDIA Tesla C1060 Capacidad de cómputo Numero de Multiprocesadores/núcleos14 (32 núcleos)30 (8 núcleos) Total de Núcleos Memoria Global2.62Gb4Gb Memoria Compartida/bloque48Kb16Kb Máximo hilos/bloque Dimensión Max. bloque1024 x 1024 x x 512 x 64 Dimensión Max. grid65535 x x 1

«Hola mundo» en PyCUDA Inclusión de las librerías necesarias. Carga de los datos en la memoria. Reserva de espacio en el dispositivo.

«Hola mundo» en PyCUDA Transferencia de datos al device. Ejecución del kernel. Transferencia al host.

Software Framework

CPU vs GPU