Nociones básicas de computación paralela
|
|
|
- Rosario Ayala Rivero
- hace 9 años
- Vistas:
Transcripción
1 Nociones básicas de computación paralela Javier Cuenca 1, Domingo Giménez 2 1 Departamento de Ingeniería y Tecnología de Computadores Universidad de Murcia 2 Departamento de Informática y Sistemas Universidad de Murcia [email protected], domingo Tecnologías para la Investigación, curso
2 Contenido 1 Planificación y Bibliografía 2 Sistemas paralelos 3 Sistemas multicore 4 Posibles trabajos
3 Planificación 5 de noviembre 17:00-18:00: Nociones generales y programación en multicore. Domingo Giménez 18:00-19:00: Programación en multicore con OpenMP. Javier Cuenca 19:00-21:00: Prácticas de programación con OpenMP (opcional). Javier Cuenca 19 de noviembre 17:00-18:00: El supercomputador Ben-Arabí. Personal del Centro de Supercomputación de la Fundación Parque Científico de Murcia 18:00-19:00: Programación en clusters con MPI. Javier Cuenca 19:00-21:00: Prácticas de programación con MPI (opcional). Javier Cuenca
4 Planificación 5 de noviembre 17:00-18:00: Nociones generales y programación en multicore. Domingo Giménez 18:00-19:00: Programación en multicore con OpenMP. Javier Cuenca 19:00-21:00: Prácticas de programación con OpenMP (opcional). Javier Cuenca 19 de noviembre 17:00-18:00: El supercomputador Ben-Arabí. Personal del Centro de Supercomputación de la Fundación Parque Científico de Murcia 18:00-19:00: Programación en clusters con MPI. Javier Cuenca 19:00-21:00: Prácticas de programación con MPI (opcional). Javier Cuenca
5 Bibliografía Francisco Almeida, Domingo Giménez, José Miguel Mantas, Antonio M. Vidal: Introducción a la programación paralela, Paraninfo Cengage Learning, 2008 Capítulos 1 y 2: introducción y computadores paralelos Capítulo 3: programación con OpenMP y MPI Códigos de los capítulos 3, 4 y 6 en la página de material suplementario de la editorial ( y otros (mejores) en inglés: Introduction to Parallel Computing. Grama, Gupta, Karypis, Kumar. Addison-Wesley Parallel Programming in C with MPI and OpenMP. Quinn. McGrawHill. 2003
6 Bibliografía Francisco Almeida, Domingo Giménez, José Miguel Mantas, Antonio M. Vidal: Introducción a la programación paralela, Paraninfo Cengage Learning, 2008 Capítulos 1 y 2: introducción y computadores paralelos Capítulo 3: programación con OpenMP y MPI Códigos de los capítulos 3, 4 y 6 en la página de material suplementario de la editorial ( y otros (mejores) en inglés: Introduction to Parallel Computing. Grama, Gupta, Karypis, Kumar. Addison-Wesley Parallel Programming in C with MPI and OpenMP. Quinn. McGrawHill. 2003
7 y material adicional Curso de Algoritmos y Programación Paralela, quinto Informática, dis.um.es/ domingo/app.html Incluye esquemas algorítmicos paralelos Programación Paralela y Computación de Altas Prestaciones, máster de Informática, dis.um.es/ domingo/cap.html Incluye algoritmos matriciales paralelos y librerías matriciales Curso de promoción Computación Científica en Clusters, 2010, javiercm/curso ccc/index.html Incluye administración de clusters y programación en GPU Curso de promoción de Programación en el Supercomputador Ben-Arabí, marzo 2011,
8 y material adicional Curso de Algoritmos y Programación Paralela, quinto Informática, dis.um.es/ domingo/app.html Incluye esquemas algorítmicos paralelos Programación Paralela y Computación de Altas Prestaciones, máster de Informática, dis.um.es/ domingo/cap.html Incluye algoritmos matriciales paralelos y librerías matriciales Curso de promoción Computación Científica en Clusters, 2010, javiercm/curso ccc/index.html Incluye administración de clusters y programación en GPU Curso de promoción de Programación en el Supercomputador Ben-Arabí, marzo 2011,
9 y material adicional Curso de Algoritmos y Programación Paralela, quinto Informática, dis.um.es/ domingo/app.html Incluye esquemas algorítmicos paralelos Programación Paralela y Computación de Altas Prestaciones, máster de Informática, dis.um.es/ domingo/cap.html Incluye algoritmos matriciales paralelos y librerías matriciales Curso de promoción Computación Científica en Clusters, 2010, javiercm/curso ccc/index.html Incluye administración de clusters y programación en GPU Curso de promoción de Programación en el Supercomputador Ben-Arabí, marzo 2011,
10 Programación paralela Uso de varios procesadores trabajando juntos para resolver una tarea común Cada procesador trabaja en una porción del problema Los procesos pueden intercambiar datos, a través de La memoria: modelo de memoria compartida, OpenMP, esta sesión Una red de interconexión: modelo de paso de mensajes, MPI, próximo viernes
11 Por qué programación paralela? Límites de memoria en los procesadores secuenciales Aceleración de la computación Dificultad de integración de componentes
12 Aplicaciones de la programación paralela Por necesidades de memoria: NUMA, clusters y supercomputadores Problemas con grandes necesidades de computación Alto coste: 2 n, n!,... Métodos aproximados, NUMA, clusters, supercomputadores, grid Gran dimensión: n 3 y n NUMA, clusters, supercomputadores Tiempo real: coste polinomial. Multicore, GPU, procesadores dedicados
13 Aplicaciones de la programación paralela Simulaciones: climáticas, de hidrodinámica, de moléculas, de contaminación... Problemas combinatorios, metaheurísticas: diseño de filtros, localización de centros de servicio, planificación de trabajos, análisis ADN... Codificación y tratamiento de datos: control de recursos, decodificación TDT, sistemas móviles y MIMO...
14 Sistemas paralelos Sistema Cores Programación portátil 2-4 OpenMP PC 2-8 OpenMP servidor 4-24 OpenMP NUMA (Ben) OpenMP cluster MPI+OpenMP supercomputador (Arabí) MPI+OpenMP GPU CUDA heterogéneo cluster+numa MPI+OpenMP jerárquico cluster+numa+gpu MPI+OpenMP+CUDA.
15 Lista de máquinas más potentes TOP500 (
16 Arquitectura multicore Más ejemplos en hwloc (
17 Compilación gnu C, a partir de la versión 4 Intel C gcc programa.c -fopenmp icc programa.c -openmp Ejecución Seleccionar el número de threads Antes de la ejecución: establecer variable de entorno OMP NUM THREADS Durante la ejecución: con función openmp omp set numthreads()
18 Compilación gnu C, a partir de la versión 4 Intel C gcc programa.c -fopenmp icc programa.c -openmp Ejecución Seleccionar el número de threads Antes de la ejecución: establecer variable de entorno OMP NUM THREADS Durante la ejecución: con función openmp omp set numthreads()
19 Aceleración de la computación
20 Aceleración de la computación
21 Caída de prestaciones Coste bajo: suma n, matriz-vector n 2 Gestión de los threads: creación, asignación de recursos, sincronización... Conflicto en accesos a memoria Aumentan al aumentar el tamaño o el orden Usar programación paralela para problemas de alto coste la multiplicación de matrices tiene coste n 3 y se logran mejores prestaciones
22 Caída de prestaciones Coste bajo: suma n, matriz-vector n 2 Gestión de los threads: creación, asignación de recursos, sincronización... Conflicto en accesos a memoria Aumentan al aumentar el tamaño o el orden Usar programación paralela para problemas de alto coste la multiplicación de matrices tiene coste n 3 y se logran mejores prestaciones
23 Librerías Optimizadas para distintos tipos de sistemas por ejemplo, de álgebra lineal BLAS, LAPACK, multithreaded (memoria compartida) ScaLAPACK para paso de mensajes CCBLAS para GPU
24 Trabajos de aplicaciones Utilización de entornos de programación paralela en algún trabajo de interés para el alumno estudio de interés de utilización del paralelismo análisis del tipo de paralelismo identificación de zonas de código susceptibles de beneficiarse del uso de paralelismo programación y estudio experimental
25 Trabajos de herramientas Análisis de alguna herramienta de computación paralela HWLOC, Portable Hardware Locality, CUDA, home new es.html TBB, Threading Building Blocks, PLASMA, Parallel Linear Algebra for Scalable Multi-core Architectures, ForestGOMP, An OpenMP platform for hierarchical architectures, UPC, Unified Parallel C, OpenCL, The open standard for parallel programming of heterogeneous systems, otros a proponer por el alumno Habrá que analizar la herramienta e intentar instalarla y usarla en algún ejemplo sencillo
26 Gestión de los trabajos Selección de aplicación con la que trabajar o propuesta de herramienta por el alumno (correo a [email protected]) se asignaría profesor y sistema computacional con que trabajar resumen de trabajo realizado a entregar antes del 15 de febrero, y revisión del trabajo con el alumno
Arquitecturas de Altas Prestaciones y Supercomputación
Arquitecturas de Altas Prestaciones y Supercomputación Presentación del itinerario Julio de 2014 Arquitecturas de Altas Prestaciones y Supercomputación Julio de 2014 1 / 15 Agenda Introducción 1 Introducción
Grupo de Computación Científica y Programación Paralela Universidad de Murcia
Grupo de Computación Científica y Programación Paralela Universidad de Murcia http://www.um.es/pcgum/ Presentación Líneas de Investigación, Máster en Informática, Universidad de Murcia, diciembre 2013
Grupo de Computación Científica y Programación Paralela
Grupo de Computación Científica y Programación Paralela Universidad de Murcia [email protected] http://dis.um.es/~domingo Reunión de proyecto de investigación, Valencia, 12-13 noviembre 2009 Contents 1 El
Multiplicación de Matrices en Sistemas cc-numa Multicore. Autor: Jesús Cámara Moreno Director: Domingo Giménez Cánovas
Multiplicación de Matrices en Sistemas cc-numa Multicore Autor: Jesús Cámara Moreno Director: Domingo Giménez Cánovas Índice de Contenido 1. Introducción 2. Línea de Investigación 3. Sistemas Empleados
Modelado de los computadores paralelos
Modelado de los computadores paralelos Francisco Almeida, Domingo Giménez, José Miguel Mantas, Antonio M. Vidal: Introducción a la rogramación aralela, araninfo Cengage Learning, 2008 Figuras tomadas directamente
Computación de Altas Prestaciones Sistemas computacionales
Computación de Altas restaciones Sistemas computacionales Javier Cuenca, Domingo Giménez Departamento de Informática y Sistemas Universidad de Murcia, Spain dis.um.es/~domingo Universidad de Murcia 1 Francisco
Modelado de los computadores paralelos
Modelado de los computadores paralelos Francisco Almeida, Domingo Giménez, José Miguel Mantas, Antonio M. Vidal: Introducción a la rogramación aralela, araninfo Cengage Learning, 2008 Figuras tomadas directamente
Computación de Altas Prestaciones Sistemas computacionales
Computación de Altas Prestaciones Sistemas computacionales Domingo Giménez Departamento de Informática y Sistemas Universidad de Murcia, Spain dis.um.es/~domingo Universidad de Murcia 1 Motivación Problemas
Modelado de los computadores paralelos
Modelado de los computadores paralelos Francisco Almeida, Domingo Giménez, José Miguel Mantas, Antonio M. Vidal: Introducción a la rogramación aralela, araninfo Cengage Learning, 2008 Figuras tomadas directamente
Modelos de computadores paralelos
Modelos de computadores paralelos Domingo Giménez Departamento de Informática y Sistemas Universidad de Murcia, Spain dis.um.es/~domingo Universidad de Murcia 1 Contenido Programación paralela Modelos
Concurrencia y Paralelismo
Concurrencia y Paralelismo Carrera: Ingeniería en Computación Profesor Responsable: Naiouf, Ricardo Marcelo Año: 4º Duración: Semestral Carga Horaria Semanal: 6hs Carga Horaria Total: 96hs Objetivos Generales
Esquemas algorítmicos paralelos - Particionado y Paralelismo de Datos
Metodología de la Programación Paralela 2015-2016 Facultad Informática, Universidad de Murcia Esquemas algorítmicos paralelos - Particionado y Paralelismo de Datos Domingo Giménez (Universidad de Murcia)
MAGMA. Matrix Algebra on GPU and Multicore Architecture. Ginés David Guerrero Hernández
PLASMA GPU MAGMA Rendimiento Trabajo Futuro MAGMA Matrix Algebra on GPU and Multicore Architecture Ginés David Guerrero Hernández [email protected] Grupo de Arquitecturas y Computación Paralela
TEMA 2: PROGRAMACIÓN PARALELA (I)
Grupo de Arquitectura de Computadores, Comunicaciones y Sistemas ARQUITECTURA DE COMPUTADORES II AUTORES: David Expósito Singh Florin Isaila Daniel Higuero Alonso-Mardones Javier García Blas Borja Bergua
Heterogénea y Jerárquica
Metodología de la Programación Paralela 2015-2016 Facultad Informática, Universidad de Murcia Computación Híbrida, Heterogénea y Jerárquica Contenidos 1 Sistemas 2 Paralelismo anidado 3 Programación híbrida
CÓMPUTO DE ALTO RENDIMIENTO EN MEMORIA COMPARTIDA Y PROCESADORES GRÁFICOS
CÓMPUTO DE ALTO RENDIMIENTO EN MEMORIA COMPARTIDA Y PROCESADORES GRÁFICOS Leopoldo N. Gaxiola, Juan J. Tapia Centro de Investigación y Desarrollo de Tecnología Digital Instituto Politécnico Nacional Avenida
Computación de Propósito General en Unidades de Procesamiento Gráfico GPGPU. Clase 0 Lanzamiento del Curso. Motivación
Computación de Propósito General en Unidades de Procesamiento Gráfico () Pablo Ezzatti, Martín Pedemonte Clase 0 Lanzamiento del Curso Contenido Evolución histórica en Fing Infraestructura disponible en
Esquemas algorítmicos paralelos - Particionado y Paralelismo de Datos
Metodología de la Programación Paralela Facultad Informática, Universidad de Murcia Esquemas algorítmicos paralelos - Particionado y Paralelismo de Datos Domingo Giménez (Universidad de Murcia) 1 / 31
Taller de Programación Paralela
Taller de Programación Paralela Departamento de Ingeniería Informática Universidad de Santiago de Chile April 17, 2008 Motivación Programar aplicaciones paralelas no es una tarea trivial. Paralelismo
PROGRAMACIÓN PARALELA
Página 1de 9 GUIA DOCENTE DE LA ASIGNATURA PROGRAMACIÓN PARALELA MÓDULO MATERIA CURSO SEMESTRE CRÉDITOS TIPO Complementos de ingeniería del software PROFESOR Grupo de Teoría: Complementos de programación
Computación paralela y distribuida
Computación paralela y distribuida MSC-0302 Nombre de la asignatura: Computación paralela y distribuida Línea de trabajo: Tecnologías web Tiempo de dedicación del estudiante a las actividades de: DOC TIS
SISTEMAS PARALELOS PROGRAMA ANALÍTICO. Unidad 1: Conceptos básicos Paralelismo. Objetivos del procesamiento paralelo.
SISTEMAS PARALELOS Año 2018 Carrera/ Plan: Licenciatura en Informática Plan 2015 Licenciatura en Sistemas Plan 2015 Licenciatura en Informática Plan 2003-07/Plan 2012 Licenciatura en Sistemas Plan 2003-07/Plan
Introducción a la Arquitectura y Plataforma de Programación de Cómputo Paralelo CUDA (36 hrs) Instructor M. en C. Cristhian Alejandro Ávila-Sánchez
Introducción a la Arquitectura y Plataforma de Programación de Cómputo Paralelo CUDA (36 hrs) I Presentación: Instructor M. en C. Cristhian Alejandro Ávila-Sánchez CUDA (Compute Unified Device Architecture)
Paralelización de problemas de recorrido de árboles Trabajadores replicados y esquema maestro esclavo
Metodología de la Programación Paralela 2015-2016 Facultad Informática, Universidad de Murcia Esquemas algorítmicos paralelos: Paralelización de problemas de recorrido de árboles Trabajadores replicados
Computación de Altas Prestaciones, una herramienta en ayuda de la ciencia
Computación de Altas Prestaciones, una herramienta en ayuda de la ciencia Domingo Giménez http://dis.um.es/~domingo Departamento de Informática y Sistemas Grupo de Computación Científica y Programación
Introducción a la Programación Paralela
Proyecto Universidad-Secundaria Incorporación de contenidos de programación paralela en la rama de tecnologías informáticas Facultad Informática, Universidad de Murcia e Instituto de Enseñanza Secundaria
Paralelismo Relajado Paralelismo Síncrono
Metodología de la Programación Paralela Facultad Informática, Universidad de Murcia Esquemas algorítmicos paralelos: Paralelismo Relajado Paralelismo Síncrono Domingo Giménez (Universidad de Murcia) 1
Introducción a la Computación Paralela
Metodología de la Programación Paralela Facultad Informática, Universidad de Murcia Introducción a la Computación Paralela Bibliografía básica Introducción Del curso, capítulos 1 a 6 De esta sesión, capítulos
TEMA 1: EJECUCIÓN PARALELA: FUNDAMENTOS(I)
Grupo de Arquitectura de Computadores, Comunicaciones y Sistemas ARQUITECTURA DE COMPUTADORES II AUTORES: David Expósito Singh Florin Isaila Daniel Higuero Alonso-Mardones Javier García Blas Borja Bergua
Computación Híbrida, Heterogénea y Jerárquica
Computación Híbrida, Heterogénea y Jerárquica http://www.ditec.um.es/ javiercm/curso psba/ Curso de Programación en el Supercomputador Ben-Arabí, febrero-marzo 2012 Organización aproximada de la sesión,
COMPARACIÓN DE MODELOS DE SINCRONIZACIÓN EN PROGRAMACIÓN PARALELA SOBRE CLUSTER DE MULTICORES
COMPARACIÓN DE MODELOS DE SINCRONIZACIÓN EN PROGRAMACIÓN PARALELA SOBRE CLUSTER DE MULTICORES Autor: A.P.U. Enzo Rucci Director: Ing. Armando E. De Giusti Co-Director: Lic. Franco Chichizola Tesina de
Lusitania. Pensando en Paralelo. César Gómez Martín
Lusitania Pensando en Paralelo César Gómez Martín [email protected] www.cenits.es Esquema Introducción a la programación paralela Por qué paralelizar? Tipos de computadoras paralelas Paradigmas de
Arquitecturas de Computadoras
Arquitectura de Computadoras Página 1 de 7 Programa de: Arquitecturas de Computadoras UNIVERSIDAD NACIONAL DE CÓRDOBA Facultad de Ciencias Exactas, Físicas y Naturales República Argentina Código: Carrera:
Procesamiento Paralelo
Procesamiento Paralelo Modelado analítico de programas paralelos Javier Iparraguirre Universidad Tecnológica Nacional, Facultad Regional Bahía Blanca 11 de Abril 461, Bahía Blanca, Argentina [email protected]
Cómputo paralelo con openmp y C
Cómputo paralelo con openmp y C Sergio Ivvan Valdez Peña Guanajuato, México. 13 de Marzo de 2012 Sergio Ivvan Valdez Peña Cómputo Guanajuato, paralelo conméxico. openmp y () C 13 de Marzo de 2012 1 / 27
GUÍA DOCENTE Arquitecturas Avanzadas de Computadores
GUÍA DOCENTE 2016-2017 Arquitecturas Avanzadas de Computadores 1. Denominación de la asignatura: Arquitecturas Avanzadas de Computadores Titulación Máster en Ingeniería Informática Código 7060 2. Materia
Curso de Computación Científica en Clusters
Pilar González, Juan Piernas, Luis P. García, Javier Cuenca, Juan Fernández, Domingo Giménez UniversidaddeMurcia Introducción Avances en distintas áreas científicas e ingenieriles uso intensivo y extensivo
Algoritmos en Árbol y Grafo Computación Pipeline
Metodología de la Programación Paralela 2015-2016 Facultad Informática, Universidad de Murcia Esquemas algorítmicos paralelos: Algoritmos en Árbol y Grafo Computación Pipeline Domingo Giménez (Universidad
UNIVERSIDAD NACIONAL DE INGENIERIA FACULTAD DE ELECTROTECNIA Y COMPUTACION DEPARTAMENTO DE ARQUITECTURA Y SISTEMAS
UNIVERSIDAD NACIONAL DE INGENIERIA FACULTAD DE ELECTROTECNIA Y COMPUTACION DEPARTAMENTO DE ARQUITECTURA Y SISTEMAS PLAN TEMATICO DE ARQUITECTURA DE MAQUINAS COMPUTADORAS III OBJETIVOS General: Obtener
