Atividade 06
Leia com atenção as instruções abaixo.
Valor: 2,0 pontos na 2ª Nota.
Data da Entrega Limite: 04/06/2022
Formato de Entrega: envie um .pdf com a resolução, feito em meios digitais, para o chat privado do professor no Slack.
A atividade é individual.
Questão 01 - 2,0 Pontos
Abaixo você encontrará dois códigos sequenciais. Adicione pragmas OpenMP se for possível. Você terá que garantir que nenhuma dependência é quebrada e assim o algoritmo continua correto. Se o algoritmo for paralelizável, discuta sua estratégia de paralelização. Caso contrário, explique porque não pode ser paralelizado. Justifique suas afirmações.
for (i = 0; i < M; i++) for (j = 0; j < N; j++) { value_t sum = 0; for (k = 0; k < L; k++) sum += A[i*L+k] * B[k*n+j]; C[i*N+j] = sum; }#define AT(i,j) ((i)*(C+1) +(j)) #defina MAX(x,y) ((x)<(y)?(y):(x)) for (i = 1; i < N + 1; i++) for (j = 0; j < C + 1; j++) if (w[i-1] <= j) m[AT(i,j)] = MAX(m[AT(i-1,j)], m[i-1, j-w[i-1]] + v[i-1]); else m[AT(i,j)] = m[AT(i-1,j)];