Foram encontradas 57.604 questões.
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
Um sistema acadêmico do ITA foi desenvolvido por uma equipe de diferentes programadores. Cada programador, inadvertidamente, implementou um conjunto de componentes que, apesar de fornecerem saídas corretas para diferentes entradas, não levaram em conta a maneira como as entradas seriam injetadas e retornadas por cada componente. Dessa forma, há componentes que esperam determinadas entradas que não são fornecidas por nenhum outro componente, o mesmo vale para as saídas, que não necessariamente atendem a componentes que desses dependeriam. Assinale qual a categoria de teste de software que possivelmente será capaz de detectar tais problemas.
Provas
Caderno Container