Programação Paralela em Arquiteturas Multi-Core/Programação em OpenMP: diferenças entre revisões

[edição não verificada][edição não verificada]
Conteúdo apagado Conteúdo adicionado
Linha 74:
 
=== Vantagens e Desvantagens ===
 
As principais vantagens são:
 
* Simplicidade, pois o OpenMP cuida da maioria das coisas para o usuário e a distribuição de tarefas é feita automaticamente pela implementação;
* Paralelizar código já existente é simples, requer poucas modificações, e o paralelismo pode ser implementado de forma incremental, já que não requer grandes modificações estruturais no código. Por exemplo, no caso de um "for", o OpenMP cuida de quais threads irão fazer o que automaticamente e, em geral, o programa contina sendo válido como um programa serial, caso o OpenMP não seja utilizado;
* Compacto, poderoso e simples.
 
As desvantagens são:
* Atualmente, só executa de maneira eficiente em arquiteturas de memórias compartilhada;
* Requer suporte do compilador;
* Escalabilidade é limitada pela arquitetura da memória;
* Tratamento de erros ainda é um problema;
* Falta alguns tipos de controle mais "fino" sobre os threads, alteração de alguns parâmetros, etc.
 
==== Comparação com pthreads ====