Presentación y organización del curso

Slides:



Advertisements
Presentaciones similares
TEMA 1 Introducción a la Programación Concurrente
Advertisements

UNIVERSIDAD DEL VALLE DE MEXICO CAMPUS CHAPULTEPEC
Hardware y Software de servidor
Conceptos preliminares
Graphics Processing Units (GPUs)
1 Circuitos Digitales II Circuitos Digitales II Fundamentos de Arquitectura de Computadores Información sobre el Curso Semana No.1 Semestre Prof.
Módulo I: PRINCIPIOS Y CONCEPTOS BÁSICOS DE LA INFORMÁTICA (20%)
Administración de Centros de Computo
Mejoras a las Máquinas Von Neumann
SISTEMAS OPERATIVOS.
DEPARTAMENTO DE CIENCIAS E INGENIERÍA DE LA COMPUTACIÓN UNIVERSIDAD NACIONAL DEL SUR Año 1º 2º 3º 4º 5º Programación Matemática Software Sistemas de Hardware.
Universidad Centroamericana
“La docencia de las clases prácticas en las asignaturas de Arquitectura de Ordenadores y Sistemas Operativos” en la Universidad Politécnica de Valencia.
MICROMAQ. Desarrollo de una Unidad de Control Virtual Microprogramable
Introducción a los SSOO Sebastián Sánchez Prieto.
SEMANA Introducción.
Arquitecturas de GPU de NVIDIA Martín Belzunce 1Arquitecturas NVIDIA Computación Paralela con Procesadores Gráficos Departamento de Electrónica Facultad.
Curso de Computación Científica en Clusters
Procesamiento paralelo
Introducción a la Programación. Lenguaje de Máquina.
Arquitectura de Computadores I II19
Arquitectura de Máquinas Computadoras II
Tema 1 Entorno de la programación. Conceptos elementales Algoritmo  Secuencia ordenada de pasos exentos de ambigüedad que conduce a la resolución de.
PRESENTADO POR LEIDY RODRÍGUEZ JOHANNA VALERO CAMILO VELANDIA MERCADEO.
Programación de Sistemas
Manejo de Memoria en CUDA (I)
ARQUITECTURA CUDA Integrantes: Jose D Apollo
Alejandro Samarín Lionel Aster Mena García Sergio Armas Pérez.
GPUs Rayco González Sicilia Microprocesadores para Comunicaciones 5º ETSIT.
Sistemas Concurrentes I.T. Informática de Sistemas Curso
TEMA 10. SISTEMAS OPERATIVOS DISTRIBUIDOS
INTRODUCCIÓN A JAVA. Índice ¿Qué es Java? La plataforma Java 2 La Máquina Virtual de Java Características principales ¿Qué ventajas tengo como desarrollador?
14 de diciembre de 2005 Universidad de Murcia1 Modelos de computadores paralelos Domingo Giménez Departamento de Informática y Sistemas Universidad de.
Estefanía López Santana 10º2 M.T Software y Hardware Gloria Ríos
Arquitectura de Von Neumann
PROGRAMACIÓN PARALELA Modelos de programación paralela Modelos computacionales Paradigmas de programación paralela Programación en memoria compartida:
ARQUITECTURAS PARALELAS
Alejandro Samarín Lionel Aster Mena García Sergio Armas Pérez.
Breve historia de los Procesadores. Evolución del semiconductor: 1K, 4K, 16K, 64K, 256K Y 1M bits ventajas: Aumento de 4 veces la capacidad de almacenamiento.
Introducción a los SOs.
Programación de Dispositivos Móviles “Conceptos de J2ME” Rogelio Ferreira Escutia.
Programación Java y Desarrollo de Aplicaciones
Sistemas Operativos Avanzados
Name Event Date Name Event Date 1 Procesadores de streams 1 Diseño de microprocesadores para multimedia Procesadores de streams Pedro Hernández Fernández.
Presentación de la asignatura
Por: Cortina, Alejandra Santacruz, Karla Visoso, Sofía.
Ing. Johanna Macias Correo Electrónico: Blog Docente:
UNIVERSIDAD VALLE DEL MOMBOY
Hecho por: M.C. Luis Fernando Guzmán Nateras v3 Organización de Computadoras Preparación: Examen 1 JEOPARDY.
Introducción. ¿Que es una computadora? Maquina electrónica capaz de resolver problemas ejecutando las instrucciones de un programa: 1.recibe datos, 2.los.
Por: Ernesto Y. Soto Rivas G
Cluster de Computadores de Alto Desempeño con Acceso Remoto
Software El software permite comunicar al computador los problemas y hace posible que nos comunique las soluciones Los programas son el software del computador.
Proporcionar a niños y adultos el CONOCIMIENTO de la informática para que puedan alcanzar sus retos personales, académicos y profesionales en la “ERA.
ARQUICTECTURA DE SERVIDORES
TEMA II FUNDAMENTOS DEL DISENO DE COMPUTADORES
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.
* UNIVERSIDAD TECNOLOGICA DE PUEBLA TECNOLOGIAS DE LA INFORMACION Y COM. AREA REDES Y TELECOMUNIC IONES ADMINISTRACION DE SERVIDORES «ARQUITECTURA DE COMPUTADORAS»
ARQUITECTURAS DE LOS SERVIDORES El computador tiene 2 aspectos para entender su funcionamiento al nivel de programación: Almacenamiento Procesamiento Para.
Elementos y tipos de sistemas operativos
SISTEMAS OPERATIVOS Son un conjunto de programas destinados a permitir la comunicación entre el usuario y en computador y gestionar sus recursos.
Arquitectura de Computadores I
SISTEMAS OPERATIVOS.
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,
UGMEx Trabajo: Presentación en PowerPoint. Nombre de la alumna: Guadalupe Gardenia Torres Hernandez. Nombre de el maestro: Campos Enríquez Israel. Nombre.
PROGRAMACIÓN DIDÁCTICA Cristina Cámara Pérez Tecnología 2º E.S.O.
PROGRAMACIÓN DIDÁCTICA QUÍMICA 2º BACHILLER
Sistemas Paralelos Profesor: Franco Chichizola JTP: Adrian Pousa Taller de programación.
Apuntes preparados por Néstor González Valenzuela slide 1 Arquitecturas de Sistemas Distribuidos y Paralelos.
Transcripción de la presentación:

Presentación y organización del curso Presentación del curso David Miraut Marcos García Ricardo Suárez

Contenidos Profesores Organización del curso Laboratorio Los nombres y siglas todavía nos parece exóticos

Profesores Marcos García Lorenzo David Miraut Andrés Ricardo Suárez Mesa Despacho 0051 Despacho 2011A Ampliación del Rectorado Ampliación del Rectorado marcos.garcia@urjc.es david.miraut@urjc.es

Organización del curso LUNES MARTES MIÉRCOLES JUEVES VIERNES BLOQUE 1 BLOQUE 2 BLOQUE 3 BLOQUE 4 BLOQUE 4 BLOQUE 4 BLOQUE 2 BLOQUE 5 BLOQUE 1: Sistemas paralelos y procesadores gráficos BLOQUE 2: CUDA Arquitectura y programación BLOQUE 3: Estado del proyecto BLOQUE 4: Prácticas de programación en CUDA BLOQUE 5: Sistemas masivamente paralelos Teoría Estado del proyecto Prácticas A programar se aprende programando.

BLOQUE 1: Sistemas paralelos y procesadores gráficos Introducción a arquitecturas masivamente paralelas Procesadores gráficos  - Historia y evolución - Retos en el diseño de soluciones gráficas - Cauce gráfico clásico - Arquitecturas streaming - Shaders - Tipos de procesadores gráficos (GPUs) - Componentes de la tarjeta gráfica - Motivación del uso de estas arquitecturas Paralelismo en sistemas monoprocesador - Segmentación - Unidades SIMD - Latencia del sistema de memoria (muro de memoria) - Necesidad de la jerarquía de memoria - Estrategias básicas para aumentar la localidad en los algoritmos Tecnología de memoria de vídeo - Evolución - Estrategias de mejora de ancho de banda - Coste energético GPGPU Clásica - Uso del cauce clásico para computación genérica - Limitaciones en precisión aritmética - Shader models - Ejemplo de arquitectura streaming - Jerarquía de memoria en modo gráfico Paralelismo en sistemas multiprocesador - Modelos de programación - Memoria compartida - Paso de mensajes - Memoria distribuida - Sistemas SIMD - Sistemas heterogéneos Comunicación CPU-GPU - PCI-Express - Sistemas multitarjeta

BLOQUE 2: CUDA Arquitectura y programación Origen e introducción a la Arquitectura Unificada - Causas que provocan el cambio en arquitectura - Mercado - Selección del hardware en función de los requerimientos de la aplicación - CUDA como arquitectura - CUDA como modelo de programación - Chip G80 a fondo Arquitectura Unificada - Gestión y ejecución de hebras - Influencia del buffer de instrucciones y algoritmos de marcación - Jerarquia de memoria en detalle - Register File    - Constantes    - Texturas    - Memoria compartida    - Resolución de conflictos entre bancos - Coalescencia en el acceso a la memoria - Equilibrado entre procesamiento y comunicación - Compromiso entre número de hilos, cantidad de registros y uso de memoria compartida - Ocupación de la GPU - Cuestiones sobre la precisión de las operaciones - Acumulación de errores en coma flotante - Unidades de coma flotante en modelos de alta gama Programación en CUDA (I) - Modelo SPMD - Organización de la carga computacional - Jerarquía de memoria - Modelo de ejecución - API de CUDA - Compilación, enlazado y depuración Programación en CUDA (II) - Máquina virtual PTX - Dependencia entre instrucciones - Control de flujo en la GPU - Divergencia y predicación - Memoria pinned - Multitarjeta - Estrategias de depuración - Interoperatibilidad con APIs gráficas Librerías de medio nivel - CUBLAS - CUFFT - CUSparse - CURAND - CULATools...

BLOQUE 3: Estado del proyecto Personal URJC Estado del proyecto Visión global Algoritmos implementados Extended MD5 UNRAR Attack Office Attack PDF Attack Estructura de la librería general Trabajo futuro Recursos utilizados

BLOQUE 4: Prácticas de programación en CUDA Instalación del entorno Ejemplos básicos Herramientas y depuración Occupancy calculator CUDAgdb Ejemplos avanzados

BLOQUE 5: Sistemas masivamente paralelos Introducción a OpenCL Ventajas y desventajas de OpenCL Cómo portar kernels de CUDA a OpenCL Perspectiva sobre futuras arquitecturas masivamente paralelas Arquitecturas CPU+GPU Arquitecturas manycore (Knight's Corner) Proyecto Echelon 

¿Por qué tanto énfasis en Arquitectura? Los procesadores gráficos que vamos a tratar en esta asignatura tienen una gran capacidad de cálculo “potencial” Su arquitectura no se parece a nada que se haya visto durante la carrera Para poder aprovechar “a tope” sus capacidades es necesario conocerlos a bajo nivel y programar consecuentemente Veremos muchas más razones cuando entremos en materia…

Página Web del curso Calendario de trabajo Las transparencias La bibliografía Enunciados de Prácticas Enlaces al material necesario para hacerlas Los datos de contacto de los profesores Lecturas complementarias

Laboratorio

Clase interactiva ¿Quiénes sois? ¿Qué os interesa aprender? ¿Cúales son vuestras espectativas sobre el curso?