PDF de programación - Nociones básicas de computación paralela

Imágen de pdf Nociones básicas de computación paralela

Nociones básicas de computación paralelagráfica de visualizaciones

Publicado el 28 de Agosto del 2017
1.042 visualizaciones desde el 28 de Agosto del 2017
689,5 KB
26 paginas
Creado hace 13a (04/11/2010)
Planificación y Bibliografía

Sistemas paralelos

Sistemas multicore

Posibles trabajos

Nociones básicas de computación paralela

Javier Cuenca1, Domingo Giménez2

1Departamento de Ingeniería y Tecnología de Computadores

Universidad de Murcia

2Departamento de Informática y Sistemas

Universidad de Murcia

[email protected], http://dis.um.es/˜domingo

Tecnologías para la Investigación, curso 2010-11

Planificación y Bibliografía

Sistemas paralelos

Sistemas multicore

Posibles trabajos

Contenido

1 Planificación y Bibliografía

2 Sistemas paralelos

3 Sistemas multicore

4 Posibles trabajos

Planificación y Bibliografía

Sistemas paralelos

Sistemas multicore

Posibles trabajos

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

Planificación y Bibliografía

Sistemas paralelos

Sistemas multicore

Posibles trabajos

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

Planificación y Bibliografía

Sistemas paralelos

Sistemas multicore

Posibles trabajos

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 (www.paraninfo.es)

y otros (mejores) en inglés:

Introduction to Parallel Computing. Grama, Gupta,
Karypis, Kumar. Addison-Wesley. 2003
Parallel Programming in C with MPI and OpenMP. Quinn.
McGrawHill. 2003

Planificación y Bibliografía

Sistemas paralelos

Sistemas multicore

Posibles trabajos

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 (www.paraninfo.es)

y otros (mejores) en inglés:

Introduction to Parallel Computing. Grama, Gupta,
Karypis, Kumar. Addison-Wesley. 2003
Parallel Programming in C with MPI and OpenMP. Quinn.
McGrawHill. 2003

Planificación y Bibliografía

Sistemas paralelos

Sistemas multicore

Posibles trabajos

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, www.ditec.um.es/˜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,
https://casiopea.um.es

Planificación y Bibliografía

Sistemas paralelos

Sistemas multicore

Posibles trabajos

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, www.ditec.um.es/˜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,
https://casiopea.um.es

Planificación y Bibliografía

Sistemas paralelos

Sistemas multicore

Posibles trabajos

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, www.ditec.um.es/˜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,
https://casiopea.um.es

Planificación y Bibliografía

Sistemas paralelos

Sistemas multicore

Posibles trabajos

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

Planificación y Bibliografía

Sistemas paralelos

Sistemas multicore

Posibles trabajos

¿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

Planificación y Bibliografía

Sistemas paralelos

Sistemas multicore

Posibles trabajos

Aplicaciones de la programación paralela

Por necesidades de memoria: NUMA, clusters
y supercomputadores
Problemas con grandes necesidades de
computación

Alto coste: 2n, n!,... Métodos aproximados, NUMA, clusters,
supercomputadores, grid
Gran dimensión: n3 y n ≥ 10000. NUMA, clusters,
supercomputadores
Tiempo real: coste polinomial. Multicore, GPU, procesadores
dedicados

Planificación y Bibliografía

Sistemas paralelos

Sistemas multicore

Posibles trabajos

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...

Planificación y Bibliografía

Sistemas paralelos

Sistemas multicore

Posibles trabajos

Sistemas paralelos

Sistema
portátil
PC
servidor
NUMA (Ben)
cluster
supercomputador (Arabí)
GPU
heterogéneo
jerárquico

.

.

.

Cores

2-4
2-8
4-24
16-256

2-32 × 2-8

32-1024 × 8-32

112-512

cluster+NUMA

Programación

OpenMP
OpenMP
OpenMP
OpenMP

MPI+OpenMP
MPI+OpenMP

CUDA

MPI+OpenMP

cluster+NUMA+GPU MPI+OpenMP+CUDA

Planificación y Bibliografía

Sistemas paralelos

Sistemas multicore

Posibles trabajos

Lista de máquinas más potentes
TOP500 (http://www.top500.org)

Planificación y Bibliografía

Sistemas paralelos

Sistemas multicore

Posibles trabajos

Arquitectura multicore

Más ejemplos en hwloc (http://www.open-mpi.org/projects/hwloc/)

Planificación y Bibliografía

Sistemas paralelos

Sistemas multicore

Posibles trabajos

Compilación

gnu C, a partir de la versión 4

gcc programa.c -fopenmp

Intel C

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()

Planificación y Bibliografía

Sistemas paralelos

Sistemas multicore

Posibles trabajos

Compilación

gnu C, a partir de la versión 4

gcc programa.c -fopenmp

Intel C

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()

Planificación y Bibliografía

Sistemas paralelos

Sistemas multicore

Posibles trabajos

Aceleración de la computación

Planificación y Bibliografía

Sistemas paralelos

Sistemas multicore

Posibles trabajos

Aceleración de la computación

Planificación y Bibliografía

Sistemas paralelos

Sistemas multicore

Posibles trabajos

Caída de prestaciones

Coste bajo: suma n, matriz-vector n2
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 n3 y
se logran mejores prestaciones

Planificación y Bibliografía

Sistemas paralelos

Sistemas multicore

Posibles trabajos

Caída de prestaciones

Coste bajo: suma n, matriz-vector n2
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 n3 y
se logran mejores prestaciones

Planificación y Bibliografía

Sistemas paralelos

Sistemas multicore

Posibles trabajos

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

Planificación y Bibliografía

Sistemas paralelos

Sistemas multicore

Posibles trabajos

Trabajos de aplicaciones

Utilizaci´
  • Links de descarga
http://lwp-l.com/pdf6648

Comentarios de: Nociones básicas de computación paralela (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad