OpenMp
• API para programación multiproceso en
computadoras con arquitectura de memoria
compartida, en múltiples plataformas.
• Formada por
Introducción a
Open Multiprocessing(OpenMP)
– directivas del compilador
– bibliotecas de funciones
– variables de ambiente,
No un lenguaje.
Cómputo de Alto Desempeño
FI UNAM
• Basado en el modelo de hilos.
Elba Karen SáenzGarcía
1
Open MP
Elba Karen Sáenz García
2
¿Qué es OpenMP?
Definido por un grupo de proveedores de hardware y de softwareAMD
(OpenMP ARB 1997)
• Modelo de programación paralelo.
•Paralelismo de memoria compartida.
• Extensiones para lenguajes de programación
existentes (C,C++, Fortran)
• Combina código serial y paralelo en un solo
archivo fuente.
•
BCS - BarcelonaSupercomputing Center
•
CAPS-Entreprise
•
Convey Computer
•
Cray
•
Fujitsu
•
HP
•
IBM
•
Intel
•
Microsoft
•
NEC
•
NVIDIA
•
Oracle Corporation
•
Signalogic
•
The Portland Group,Inc.
•
Texas Instruments
Mas información en
www.openmp.org
Elba Karen Sáenz García
3
Elba Karen Sáenz García
4
Algunos Compiladores
Compañía
Compilador
Información
GNUgcc
Algunas preguntas
Usado en Linux, Solaris, AIX, MacOSX, Windows
OpenMP 3.1 y soportado desde GCC 4.7
•
•
•
•
–fopenmp
IBM
XL C/C++ /
Fortran
Usado en AIX y Linux.
OracleC/C++ / Fortran
Solaris y Linux
Intel
C/C++ / Fortran
(10.1)
¿Qué es un proceso?
¿Qué es un hilo?
¿Qué se comparte entre los hilos?
¿Cuál es la diferencia entre hilo y proceso?Windows, Linux y MacOSX.
/Qopenmp y -openmp
Elba Karen Sáenz García
5
Proceso
Elba Karen Sáenz García
6
Estados de un proceso
• Programa en algún estado en ejecución.
– Poseenespacios de memoria independientes
– Los cambios de estado (cambios de contexto) son
relativamente costosos en términos de tiempo.
Elba Karen Sáenz García
7
Elba Karen Sáenz García
8...
Regístrate para leer el documento completo.