Monografias.com > Computación > Programación
Descargar Imprimir Comentar Ver trabajos relacionados

Programación con Paralelismo Implícito




Enviado por Pablo Turmero



Partes: 1, 2, 3


    Monografias.com
    ÍNDICE
    PROGRAMACIÓN CON PARALELISMO IMPLÍCITO (OMP)
    Introducción
    Conceptos básicos
    Paralelismo de datos
    Directivas OMP
    Regiones paralelas

    Monografias.com
    OpenMPIntroducción
    El estándar es definido y revisado por el comité OpenMP Architecture Review Board compuesto actualmente por:
    U.S. DoD: Aeronautical Systems Center
    cOMPunity (Comunidad de usuarios de OpenMP)
    Edinburgh Parallel Computing Centre (EPCC)
    Laboratorio NASA Ames
    ST Microelectronics: The Portland Group
    Fujitsu
    Hewlett Packard
    International Business Machines (IBM)
    Intel Corporation
    KAI Software Lab (KSL)
    NEC Corporation
    Silicon Graphics Inc. (SGI)
    Sun Microsystems
    Universidad RWTH Aachen

    Monografias.com
    OpenMPIntroducción
    Antes de la introducción de OpenMP cada fabricante tenía su propio “estándar”

    Los programas tenían portabilidad nula

    El estándar ANSI X3H5 fracasó por falta de apoyo

    Se perdió interés en las máquinas SMP

    El estándar OpenMP se introdujo para resolver esto:
    En 1997 se publicó la versión 1.0
    En 1999 se publicó la versión 1.1
    En 2000 se publicó la versión 2.0
    En 2005 se publicó la versión 2.5

    Monografias.com
    OpenMPIntroducción
    OpenMP se fundamenta en directivas y cláusulas:
    Las directivas especifican qué hacer
    Las cláusulas indican cómo hacerlo
    Se añaden como comentarios al código

    Tipos de directivas en OpenMP:
    Directivas de distribución de trabajo
    Directivas de sincronización de tareas

    Tipos de cláusulas en OpenMP:
    Cláusulas de datos
    Cláusulas de comportamiento
    Cláusulas de sincronía

    Monografias.com
    OpenMPIntroducción
    Ventajas de OpenMP:

    Sencillo: no requiere el envío explícito de mensajes como en MPI
    La descomposición de los datos es automática
    Admite la paralelización incremental del código
    Mismo código fuente para las versiones serial y paralela
    Permite implementar granularidad gruesa y fina
    Elevada portabilidad

    Monografias.com
    OpenMPIntroducción
    Inconvenientes de OpenMP:

    Requiere un compilador que entienda OpenMP
    El estándar sólo contempla C y Fortran
    Sólo es eficiente en máquinas de memoria compartida
    En general la eficiencia paralela es baja
    La escalabilidad está limitada por el acceso a memoria
    Aumentar la eficiencia requiere reestructurar el código

    Monografias.com
    OpenMPIntroducción
    Compiladores que soportan OpenMP
    SGI MIPSpro
    IBM XL
    Sun Studio
    Portland Group Compilers and Tools
    Absoft Pro FortranMP
    Lahey/Fujitsu Fortran 95
    Fujitsu-Siemens Fortran 95 (Solaris)
    Intel Software Development Products
    PathScale
    GNU GCC (a partir de la versión 4.2)
    HP

    Monografias.com
    OpenMPIntroducción
    El soporte para OpenMP ha de ser activado

    Versión serial de un programa:
    ifort ejemplo.f90
    Versión paralela de un programa:
    ifort -openmp ejemplo.f90

    En casi todos los compiladores la opción es -openmp

    Monografias.com
    Un programa secuencial es un caso especial de un programa de memoria compartida

    Paralelización incremental es el proceso de convertir un programa secuencial a un programa paralelo poco a poco

    Las iteraciones de un bucle for se pueden ejecutar en paralelo si ninguna iteración depende de otra anterior.

    Ejemplos:
    for (i=first;i<=n;i++) suma += suma + v[i]

    OpenMP Conceptos básicos

    Monografias.com
    OpenMPConceptos básicos
    SECTIONS – particiona el trabajo en
    secciones separadas.
    Cada sección es ejecutada por un hilo.
    Se puede utilizar para implementar un
    tipo de “paralelismo funcional”
    SINGLE – serializa una
    sección de código

    Partes: 1, 2, 3

    Página siguiente 

    Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

    Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

    Categorias
    Newsletter