Foram encontradas 56.730 questões.
Considere o trecho de código C a seguir, instrumentado e compilado com com recursos das extensões OpenMP, e assinale a alternativa INCORRETA:
double dotProd(double *a, int *b, long int N) {
long int i;
double dot = 0.0;
#pragma omp parallel for simd reduction(+:dot)
for(i = 0; i < N; i++)
dot += a[i] * b[i];
return dot;
}
Provas
Na programação com aceleradores, usando CUDA, por exemplo, é comum que se utilize um modelo SIMT, em que os núcleos de processamento do acelerador sejam usados para executar o mesmo código sobre partes distintas dos dados. Considerando o trecho de código a seguir, que é parte de uma soma de vetores, indique a alternativa CORRETA:
#define N (1<<20)
...
__global__
void add(int n, float *x, float *y) {
int index = blockIdx.x * blockDim.x + threadIdx.x;
int stride = blockDim.x * gridDim.x;
for (int i = index; i < n; i += stride)
y[i] = x[i] + y[i];
}
...
main() {
. . .
int blockSize = 256;
int numBlocks = (N + blockSize - 1) / blockSize;
add <<< numBlocks, blockSize >>> (N, x, y);
...
}
Provas
Considere o trecho de código C para multiplicação de 2 matrizes apresentado a seguir, instrumentado com diretivas OpenMP, e assinale a alternativa INCORRETA:
...
int i, j, k;
...
1 // #pragma omp parallel for private(j,k)
2 for (i=0; i<N; i++)
3 // #pragma omp parallel for private(k)
4 for (j=0; j<N; j++) {
5 soma = 0;
6 // #pragma omp parallel for reduction(+:soma)
7 for (k=0; k<N; k++)
8 soma += A[i][k] * B[k][j];
9 C[i][j] = soma;
10 }
Provas
A respeito das operações de comunicação coletiva, como MPI_Scatter e MPI_Gather, apresentadas a seguir, indique a alternativa INCORRETA:
int MPI_Scatter(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm)
int MPI_Gather(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm)
Provas
Considere o uso de diretivas OpenMP em um loop paralelizado. Qual das seguintes diretivas é mais apropriada para garantir que uma seção crítica de código, que atualiza uma variável compartilhada, seja executada por apenas um thread de cada vez, sem comprometer o paralelismo do restante do loop?
Provas
Considere o loop (em linguagem C):
for (int i = 1; i < n; ++i) {
A[i] = A[i] + A[i-1];
}
Que tipo de dependência existe que impede paralelização direta por iteração?
Provas
Qual afirmação melhor descreve false sharing?
Provas
Em OpenMP, ao usar #pragma omp parallel for reduction(+:sum) sobre um loop, qual das afirmações é verdadeira sobre sum durante a execução paralela?
Provas
Sobre o gerenciamento ágil de projetos baseado em Scrum, foram feitas as seguintes afirmações:
I. O Scrum Master deve remover impedimentos que atrapalham o time de desenvolvimento.
II. Cabe ao Product Owner priorizar os requisitos, de acordo com as necessidades dos clientes, assumindo assim um papel de gestor de projeto, gerindo pessoas.
III. O Product Backlog é o análogo estático de uma lista de requisitos de projetos tal como na abordagem waterfall.
O item que contém somente alternativas corretas é:
Provas
Qual alternativa descreve melhor um componente de software reutilizável?
Provas
Caderno Container