Questão FC405962
OpenMP (Open Multi-Processing) é uma API (Interface de Programação de Aplicações) de programação para a criação de aplicações paralelas em sistemas com múltiplos processadores ou n
Questões sem classificação de assunto (TI - Engenharia de Software)
FGV · 2024
OpenMP (Open Multi-Processing) é uma API (Interface de Programação de Aplicações) de programação para a criação de aplicações paralelas em sistemas com múltiplos processadores ou núcleos de processamento.
Assinale a opção que descreve corretamente o OpenMP e suas características.
- OpenMP oferece várias opções de controle de paralelismo, permitindo que os desenvolvedores ajustem o comportamento do programa de acordo com suas necessidades. Isso inclui a possibilidade de definir o número de threads a serem usados, controlar a divisão do trabalho entre os threads e sincronizar a execução paralela.
- OpenMP é uma biblioteca que permite a execução de threads em espaços de memória separados, enquanto processos são executados em um espaço de memória compartilhado. Threads são um recurso do ambiente operacional, e a CPU normalmente possui operações que tornam os threads eficientes.
- OpenMP é sinônimo de threads e pode ser usado indistintamente. Ambos referem-se à execução de código em um computador.
- OpenMP é uma abstração teórica sem aplicação prática, enquanto threads são unidades de execução de código em um computador.
- OpenMP é uma biblioteca que oferece várias opções de controle de paralelismo, mas não permite ajustar o número de threads ou sincronizar a execução paralela.
Mostrar resposta e comentário
Gabarito
A
Comentário do professor
OpenMP é uma API que fornece mecanismos para controlar o paralelismo em aplicações compartilhadas, permitindo ao desenvolvedor ajustar comportamento e desempenho conforme a necessidade.
É possível definir explicitamente o número de threads via variável de ambiente OMP_NUM_THREADS ou pela função omp_set_num_threads, influenciando a largura do paralelismo.
O balanceamento de trabalho entre threads é controlado por cláusulas como schedule (ex.: static, dynamic, guided) em diretivas como #pragma omp for, permitindo distribuir iterações conforme carga.
Para sincronização e correção, OpenMP oferece primitivas como barrier, seções critical, atomic e cláusulas de reduction, evitando condições de corrida e agregando resultados.
Esses controles tornam o modelo flexível: o mesmo código pode ser ajustado em tempo de compilação ou execução para otimizar uso de recursos e escalabilidade.
Conteúdo do catálogo FC Concursos · Atualizado em