OpenMP...
... uma Interface de Programação de Aplicação (API) para programação multiprocessada em memória compartilhada, compatível com C, C++ e Fortran focada na simplicidade e abstração de alto nível.
Open MPI...
... soluçção distinta do OpenMP voltada para sistemas de memória distribuída (clusters) na qual nós separados concectados em rede não compartilham a mesma memória física.
Diretiva #pragma...
... instrução especial ao compilador para tratar o código de forma específica, indicando onde e como o paralelismo deve ser aplicado.
Thread Mestre...
... thread de índice 0 que gerencia o fluxo, cria (fork) outras threads para executar regiões paralelas e as encerra (join) ao final, similar ao pthread_create e join.
#pragma omp parallel...
... diretiva fundamental que define uma região de código (bloco entre chaves) a ser executada simultaneamente por múltiplas threads.
omp_get_thread_num()...
... função que retorna o identificador único (ID) da thread atual (um número entre 0 e o total de threas menos 1), permitindo diferenciar o trabalho de cada uma.
Controle de Threads...
... o número de threads pode ser definido via diretiva num_threads(), função omp_set_num_threads() ou pela variável de ambiente OMP_NUM_THREADS.
Variáveis privadas...
... variáveis declaradas dentro de uma região paralela ou marcadas com a diretiva private(), cada thread possui sua própria cópia independente, evitando interferência mútua.
#pragma omp parallel for...
... diretiva que simplifica a paralelização de loops for, dividindo e mapeando automaticamente as iterações do laço entre as threads disponíveis.
False Sharing (compartilhamento falso)...
... perda de desempenho que ocorre quando threads atualizam variáveis diferentes que estão no mesmo bloco de cache, forçando a atualização constante da memória principal para manter a coerência.
#pragma omp barrier...
... mecanismo de sincronização que pausa a execução de todas as threads num ponto específico até que todas tenham alcançado esse ponto.
#pragma omp critical (exclusão mútua)...
... diretiva que define um bloco de código que só pode ser executado por uma thread de cada vez, garantindo a integridade de dados compartilhados (evita condições de corrida).
#pragma omp atomic...
... uma forma otimizada de exclusão mútua para operações simples (incrementos x++ ou somas +=), aproveita instruções de hardware para ser mais rápida que o critical.
omp_get_wtime()...
... função usada para medir o tempo de execução (em segundos), permitindo calcular o ganho de desempenho (speedup) das soluções paralelas.

Voltar