Questão FC406285
No contexto da programação paralela com OpenMP, as variáveis declaradas fora de um bloco paralelo são compartilhadas automaticamente, enquanto as variáveis declaradas dentro de um
Questões sem classificação de assunto (TI - Organização e Arquitetura dos Computadores)
FGV · 2024
No contexto da programação paralela com OpenMP, as variáveis declaradas fora de um bloco paralelo são compartilhadas automaticamente, enquanto as variáveis declaradas dentro de um bloco paralelo são tratadas como privadas por padrão. Também existe a possiblidade de uso de cláusulas adequadas para garantir o correto compartilhamento ou privacidade das variáveis entre as threads paralelas. A esse respeito, analise as afirmativas a seguir e assinale (V) para 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 é, cada thread tem sua própria cópia da variável.
( ) A cláusula firstprivate(list) especifica que cada variável da lista é privada por todas threads do time, mas são inicializadas com o valor que continha no momento em que a região paralela foi encontrada.
( ) A cláusula private(list) especifica que cada variável da lista é privada por todas threads do time, isso é, todas as threads compartilham uma mesma cópia da variável.
As afirmativas são, respectivamente,
- V – V – V.
- F – F – F.
- V – V – F.
- F – V – F.
- V – F – V.
Mostrar resposta e comentário
Gabarito
D
Comentário do professor
A sequência F – V – F significa que a primeira e a terceira afirmativas são falsas e a segunda é verdadeira.
A primeira é falsa porque a cláusula shared(list) faz com que haja uma cópia única compartilhada entre todas as threads — ou seja, todas acessam a mesma variável, não cópias independentes.
A segunda é verdadeira: firstprivate(list) cria uma variável privada para cada thread, porém cada cópia é inicializada com o valor que a variável tinha antes de entrar na região paralela.
A terceira é falsa porque private(list) gera uma cópia privada por thread e não uma cópia compartilhada; essas cópias normalmente começam sem valor definido (a não ser quando especificado de outro modo).
Conteúdo do catálogo FC Concursos · Atualizado em