Programación Paralela openMP
FACULTAD DE INGENIERÍA
DIVISIÓN DE INGENIERÍA EN COMPUTACIÓN
MATERIA:
PROGRAMACIÓN PARALELA Y DISTRIBUIDA
MANUAL TÉCNICO
SEGUNDO PROYECTO PARCIAL
ELABORADO POR:
JESSICA IRAI DIAZ VALVERDE
JULIO CESAR MARTINEZ G.
SEMESTRE 2013B
CONTENIDO
1.- EL MODELO PRAM
2. OPENMP 2.1 INTRODUCCION
2.2 HISTORIA
2.3 MANUAL OpenMP
2.3.1 USO DE LOS THREADS
2.3.2 APROVECHAMIENTO DEL PARALELISMO
2.3.3 DIRECTIVAS OPENM
2.3.4 BIBLIOTECA DE FUNCIONES EN TIEMPO DE EJECUCIÓN
2.3.5 VARIABLES DE ENTORNO
2.3.6 EJEMPLOS
3. DESCRIPCION DE PROBLEMAS Y CODIGOS
3.1. SUMA EREW 3.2. SUMAS EN PREFIJO PRAM CREW 3.3. BÚSQUEDA PRAM EREW 3.4. BÚSQUEDA PRAM CRCW 3.5. ORDENAMIENTO PRAM CRCW …ver más…
2.2 HISTORIA
Para obtener el máximo beneficio de rendimiento de las arquitecturas SMP (Multiprocesador simétrico), una aplicación debe ejecutarse en paralelo. Para poner un código en paralelo los programadores deben identificar (en caso de existir) el paralelismo inherente al problema; regiones de código cuyas instrucciones se pueden compartir entre los procesadores. El código ejecutado en un procesador puede requerir resultados que se han calculado en otro. En un principio, aparenta no ser un problema, puesto que un valor calculado por un procesador se puede almacenar en la memoria principal, y desde allí ser recuperado por código que se ejecuta en otros procesadores, según sea necesario. Sin embargo, el programador debe asegurarse de que el valor que quiera compartir deba estar primero en memoria principal; es decir, que los accesos sean en el orden requerido. Esto no es trivial, los procesadores operan independiente uno del otro; sus relojes no están sincronizados y pueden ejecutar porciones de código a velocidades ligeramente distintas.
Para resolver el problema, en la década de 1980 los fabricantes de arquitecturas SMP proporcionaron una notación especial. Se especificaba cómo el trabajo debía repartirse entre los procesadores individuales de un SMP, así como el orden de los accesos por diferentes hilos para compartir datos. Eran instrucciones especiales o directivas que podían