Questão FC406282
OpenMP é um ambiente de programação paralela adequado para escrever programas paralelos a serem executados em sistemas de memória compartilhada. É uma coleção de interfaces de prog
Questões sem classificação de assunto (TI - Organização e Arquitetura dos Computadores)
FGV · 2024
OpenMP é um ambiente de programação paralela adequado para escrever programas paralelos a serem executados em sistemas de memória compartilhada. É uma coleção de interfaces de programação de aplicativos que inclui diretivas de compilador, funções de suporte e variáveis de ambiente, permitindo que os programadores explorem e controlem o paralelismo durante a execução de um programa.
No contexto das variáveis utilizadas em programação paralela com OpenMP, analise as afirmativas a seguir e assinale (V) para a verdadeira e (F) para a falsa.
( ) A cláusula shared(list) especifica que cada variável da lista é compartilhada por todas threads do time, isso é, todas as threads compartilham uma mesma cópia da variável.
( ) Por padrão, variáveis declaradas antes de um bloco paralelo são compartilhadas.
( ) A cláusula private(list) especifica que cada variável da lista é privada por todas threads do time, isso é, cada thread tem sua própria cópia da variável.
( ) Por padrão, variáveis declaradas dentro de um bloco paralelo são privadas.
As afirmativas são, respectivamente,
- V – V – V – V.
- F – V – F – V.
- V – F – V – F.
- V – V – F – V.
- F – F – F – F.
Mostrar resposta e comentário
Gabarito
A
Comentário do professor
As quatro afirmativas estão corretas. A cláusula shared(list) faz com que cada nome da lista referencie a mesma cópia na memória compartilhada, ou seja, todas as threads acessam e modificam o mesmo objeto.
De forma padrão, variáveis declaradas fora de um bloco paralelo (por exemplo, variáveis globais ou locais ao escopo exterior) são tratadas como shared pelo OpenMP, permitindo acesso conjunto das threads.
A cláusula private(list) cria para cada thread uma cópia privada da(s) variável(eis) listadas; cada thread usa sua instância independente.
E, por padrão, variáveis declaradas dentro de um bloco paralelo são private. Note que cópias private não são inicializadas automaticamente (use firstprivate se precisar copiar o valor inicial) e acessos a shared podem exigir sincronização para evitar condições de corrida.
Conteúdo do catálogo FC Concursos · Atualizado em