FC ConcursosFC Concursos

Questão FC406284

Em computação paralela os loops paralelos são muito úteis, permitindo que várias iterações de um loop sejam executadas simultaneamente por diferentes threads, aproveitando assim ao

Questões sem classificação de assunto (TI - Organização e Arquitetura dos Computadores)

FGV · 2024

Em computação paralela os loops paralelos são muito úteis, permitindo que várias iterações de um loop sejam executadas simultaneamente por diferentes threads, aproveitando assim ao máximo os recursos de processamento disponíveis em sistemas paralelos. Isso é especialmente importante para acelerar o processamento de tarefas computacionais intensivas, dividindo o trabalho entre múltiplos núcleos de processamento. Neste contexto, assinale a opção que apresenta o argumento utilizado no padrão OpenMP para combinar múltiplos loops em um único, permitindo sua execução em paralelo.

  1. reduction(op:var).
  2. collapse(n).
  3. nowait.
  4. final.
  5. critical.
Mostrar resposta e comentário

Gabarito

B

Comentário do professor

collapse(n) é uma cláusula do OpenMP que combina automaticamente n loops aninhados em um único espaço de iteração paralelo. Em vez de paralelizar apenas o loop mais externo, o compilador trata as n camadas como uma única iteração linear, aumentando o grau de paralelismo disponível.

O parâmetro n indica quantos loops consecutivos e perfeitamente aninhados serão unidos. O número total de iterações é o produto dos trip counts desses loops: \(N_{total}=\prod_{i=1}^{n}T_i\). O OpenMP mapeia esse espaço linear de volta para os índices originais ao distribuir as iterações entre threads.

Use collapse quando os loops internos tiverem poucas iterações ou quando for necessário melhor balanceamento. É obrigatório que os loops sejam canônicos (forma suportada pelo OpenMP) e que não haja dependências entre iterações combinadas, sob pena de comportamento incorreto.

Exemplos de sintaxe: #pragma omp parallel for collapse(2) (C/C++) e !$omp do collapse(2) (Fortran).

Conteúdo do catálogo FC Concursos · Atualizado em

Continue aprendendo