Um dos problemas clássicos da computação científica é a multiplicação… — Questão 27 · ENADE 2011 — Computação (INEP) Ir para o conteúdo
Universo Concursos
Buscar no site
Resolver questões

Prova do ENADE 2011 — Computação (INEP)

  • 0respondidas

  • 0acertos

Pausar

INEP, ENADE

questão 10 de 18, número 27 na prova

Um dos problemas clássicos da computação científica é a multiplicação de matrizes. Assuma que foram declaradas e inicializadas três matrizes quadradas de ponto flutuante, a, b e c, cujos índices variam entre 0 e n - 1. O seguinte trecho de código pode ser usado para multiplicar matrizes de forma sequencial:

1. for [i = 0 to n - 1] {

2. for [j = 0 to n - 1] {

3. c[i, j] = 0.0;

4. for [k = 0 to n - 1]

5. c[i, j] = c[i, j] + a[i, k] * b[k, j];

6. }

7. }

O objetivo é paralelizar esse código para que o tempo de execução seja reduzido em uma máquina com múltiplos processadores e memória compartilhada. Suponha que o comando “co” seja usado para definição de comandos concorrentes, da seguinte forma: “co [i = 0 to n - 1] { x; y; z;}” cria n processos concorrentes, cada um executando sequencialmente uma instância dos comandos x, y, z contidos no bloco.

Avalie as seguintes afirmações sobre o problema.

  1. I. Esse problema é exemplo do que se chama “embaraçosamente paralelo”, porque pode ser decomposto em um conjunto de várias operações menores que podem ser executadas independentemente.
  2. II. O programa produziria resultados corretos e em tempo menor do que o sequencial, trocando-se o “for” na linha 1 por um “co”.
  3. III. O programa produziria resultados corretos e em tempo menor do que o sequencial, trocando-se o “for” na linha 2 por um “co”.
  4. IV. O programa produziria resultados corretos e em tempo menor do que o sequencial, trocando-se ambos “for”, nas linhas 1 e 2, por “co”.

É correto o que se afirma em

Questões parecidas

Ver todas desta matéria

Ainda não há outras questões de Computação em outras provas do acervo.