Open mp-processamento paralelo
OpenMP
Dereck Duque Estrada
Rafael Melo de Azevedo
Rio de Janeiro Março/2013
Índice 1 Introdução
2 Classificação de Flynn
3 Arquiteturas Paralelas com Memória Compartilhada e Distribuída 3.1 Multiprocessadores com Memória Compartilhada (Shared) 3.2 Multiprocessadores com memória distribuída 3.3 Threads
4 Processamento Paralelo 4.1 Modos de processamento paralelo 4.1.1 SWAR 4.1.2 SMP 4.1.3 Beowulf
5 A evolução do Processamento Paralelo 5.1 RR scheduling 5.2 Processamento Vetor 5.3 Sistema Simétrico de Multiprocessamento 5.4 Sistemas Massivos de Processamento Paralelo (MPP)
6 O que é OpenMP? 6.1 Diretivas de compilação 6.2 Funções da biblioteca 6.3 Variáveis de ambiente
7 História do OpenMP 8 Modelo de programação 9 Modelo FORK & JOIN 10 Formato das diretivas: Fortran e C/C++
2
10.1 Fortran 10.2 C/C++
11 Construção Paralela 12 Construtores compartilhados ou de divisão de trabalho 12.1. Diretiva #pragma omp for 12.1.1 Cláusula Schedule aplicada a diretiva For 12.1.2 Cláusula Ordered aplicada a diretiva For 12.1.3 Cláusula Nowait aplicada a diretiva For 12.2. Diretiva Sections 12.3. Diretiva Single 13 Construtores combinados 13.1 Diretiva Paralell For 13.2 Diretiva Paralell Section 14 Construções de sincronização 14.1 Diretiva MASTER 14.2 Diretiva BARRIER 14.3 Diretiva ATOMIC 14.4 Diretiva FLUSH 15 Regras de operação das diretivas 16 CLÁUSULAS do OpenMP 17 Rotinas 17.1 Rotinas de Interface: 17.2 Rotinas de Bloqueio
3
17.3 Rotina de Tempo 18 VARIÁVEIS DE AMBIENTE 19 Compiladores 19.1 OpenMP utilizando o compilador GCC 20 Lei de Amdahl 21 APLICAÇÕES 22 Programa teste 23 Recomendações 24 Prós e Contras 25 Conclusão 26 Referencia
4
1. Introdução Com a demanda cada vez maior por velocidade de processamento, foi desenvolvida uma nova forma de utilizar os processadores. O processamento