Introducción a la programación paralela
Introducción a la programación paralela - Código 21888
Profesor
Carlos Jaime Barrios Hernandez, PhD. - (cbarrios@uis.edu.co)
PRESENTACION
La computación paralela más que una tendencia de programación es una exigencia industrial y real. Los sistemas paralelos se encuentran listos para ser explotados, desde dispositivos portátiles y embebidos hasta supercomputadoras.
Este curso introductorio dirigido a estudiantes de ingeniería de sistemas, es un acercamiento a conceptos básicos y estrategias de programación paralela. Trata desde sistemas y arquitecturas escalables, hasta ambientes de programación paralela, haciendo un fuerte énfasis en el análisis y diseño de algoritmos paralelos concurrentes y en la evaluación de arquitecturas para soluciones científicas e industriales.
Contenido
- Introducción a la Programación Paralela
- Introducción a las Arquitecturas y Sistemas Escalables
- Algoritmos Concurrentes y Paralelos
- Modelos de Programación Paralela (Introducción a la programación de Memoria Distribuida, Introducción a la programación de Memoria
- Compartida, Introducción al a programación de maquinas masivamente paralelas y sistemas híbridos)
- Lineamientos para el desarrollo de Aplicaciones Paralelas
- Evaluación de Desempeño
- Direcciones y Temas Candentes en Programación Paralela
ASPECTOS METODOLOGICOS
- Sesiones Teórico-Prácticas
- Lecturas y Discusiones de Artículos (La mayoría en Inglés)
- Observación y Análisis de Aplicaciones y Propuestas
MATERIAL DEL CURSO 2012
- Sesión
- Introduction to Parallel Programming (And Parallel Systems)
- Programación Paralela y Programación Científica desde la E-Ciencia y El Cómputo Avanzado
- Sesión
- Sesión
- Sesión
- Sesión
- Sesión
- Sesión
- Sesión
Lecturas sugeridas
De The Fourth Paradigm: Data Intensive Scientific Discovery
MATERIAL DEL CURSO 2013 - 2014
- Introducción
- Arquitecturas Paralelas
- Concurrencia y Paralelismo
- Modelo de Programacion de Memoria Compartida - OpenMP
- Modelo de Programación de Memoria Distribuída - OpenMPI
EVALUACIONES
Evaluación 1
Evaluación 2
Evaluación 3
BIBLIOGRAFÍA Y FUENTES DE INFORMACION
- The Fourth Paradigm: Data-Intensive Scientific Discovery
- Designing and Building Parallel Programs, by Ian Foster
- Patterns for Parallel Programming, by Timothy G. Mattson, Beverly A. Sanders and Berna L. Massingill. Software Patterns Series, Addison Wesley Ed., USA. 2009
- The Art of Concurrency “A thread Monkey’s Guide to Writing Parallel Applications”, by Clay Breshears (Ed. O Reilly, 2009)
- Parallel Scientific Computing in C++ and MPI « A Seamless Approach to Parallel Algorithms and Their Implementation », Karniadakis and Kirby II (Cambridge Press)
- Algorithms Sequential and Parallel « A Unified Approach » Miller and Boxer (Computing Engineering Series)
- Parallel Algorithms, Cassanova, Legrand and Robert (Chapman and Hall/CRC)
- Programming Massively Parallel Processors « A Hands-on Approach » , Kirk and Hwu (Nvidia/Morgan Kaufmann)
- Introduction to High Performance Computing for Scientists and Engineers, Hager and Wellein (Chapman and Hall/CRC)
- Sourcebook of Parallel Computing , Dongarra, Foster, Fox, Groop, Kennedy, Torczon and White (Morgan Kaufmann)
- CUDA by Example « An Introduction to General-Purpose GPU Programming » Sanders and Kandrot (Nvidia/Addison Wesley)
- NVIDIA
- SC3
- Computing.llnl.gov
- SC-Camp