Em Computação Paralelas, os alunos aprendem a explorar o paralelismo inerente às arquiteturas modernas através da compreensão de como modelar algoritmos para execução com maior desempenho em programas paralelos. Ao final, além de maior velocidade na resolução de problemas computacionais, os alunos terão conhecimento das técnicas de engenharia de software para melhor organização e reutilização do código.
Essa cadeira apresenta os paradigmas da computação paralela, envolvendo aspectos de hardware e software, com ênfase no último. Portanto, a metodologia consiste em aproveitar o conhecimento anterior dos alunos em disciplinas que tratam da interface hardware-software e prepará-los para tirar o máximo de desempenho de arquiteturas paralelas. Temos então um aspecto prático acentuado, visto que a teoria já se encontra parcialmente coberta. Dada a necessidade de adaptação da disciplina para a modalidade remota, adotamos os seguintes métodos:
O horário dos encontros será definido com a turma.
Os alunos serão avaliados por atividades escritas. As atividades liberadas semanalmente, sendo que a cada 3 ou 4 atividades, uma nota será definida. Ao total, teremos quatro notas (ou quatro conjuntos de atividades), valendo de 0 a 10. Ao final, a média será definida pela média aritmética das três maiores notas.
Data | Assunto | Comentários | Vídeos | Atividades | Notas |
---|---|---|---|---|---|
30/06/2020 | Introdução a Computação Paralela | Motivação da Disciplina | 1ª Nota: Introdução e OpenMP | ||
06/07/2020 | Visão Geral de Computação Paralela | História, Modelos de Computação e Multiprocessadores | Atividade 01 | ||
07/07/2020 | Visão Geral de Computação Paralela | Impacto da Comunicação e Complexidade Paralela | |||
13/07/2020 | Visão Geral de Computação Paralela | Leis Gerais e Exercícios | Atividade 02 | ||
14/07/2020 | Programação Memória Compartilhada | Modelo de Memória Compartilhada e OpenMP | |||
20/07/2020 | Programação Memória Compartilhada | Continuação da Paralelização de Laços e apresentando o Jogo da Vida. | Computação Paralela 16/03/2020 | Atividade 03 | |
21/07/2020 | Programação Memória Compartilhada | Redução em Laços, duas maneiras de calcular o Pi. | Computação Paralela 17/03/2020 | ||
27/07/2020 | Programação Memória Compartilhada | Escalonamento de iterações em laços paralelos e Introdução a Tarefas. | Computação Paralela 23/03/2020 | Atividade 04 | |
28/07/2020 | Programação Memória Compartilhada | Tarefas no OpenMP e como usar a Nuvem. | Computação Paralela 24/03/2020 | ||
03/08/2020 | Exemplo de Computação Científica | Iterações de Jacobi | Computação Paralela 30/03/2020 | Atividade 05 | 2ª Nota: MPI |
04/08/2020 | Programação por Troca de Mensagens | Introdução ao MPI | Computação Paralela 31/03/2020 | ||
10/08/2020 | Programação por Troca de Mensagens | Operações Básicas e Ponto a Ponto e Criação de Cluster na AWS | Computação Paralela 06/04/2020 | Atividade 06 | |
11/08/2020 | Programação por Troca de Mensagens | Comunicação Coletiva | Computação Paralela 07/04/2020 | ||
17/08/2020 | Programação por Troca de Mensagens | Cálculo do Pi e Modo de Comunicação Padrão | Computação Paralela 13/04/2020 | Atividade 07 | |
18/08/2020 | Programação por Troca de Mensagens | Outros Modos de Comunicação e Topologia em Anel | Computação Paralela 14/04/2020 | ||
24/08/2020 | Programação por Troca de Mensagens | Finalizando MPI, discutindo Comunicadores. | Computação Paralela 20/04/2020 | Atividade 08 | |
25/08/2020 | Processadores Massivamente Paralelos | Introdução a Programação Massiva Paralela. | Computação Paralela 27/04/2020 | ||
31/08/2020 | Processadores Massivamente Paralelos | Anatomia de uma GPU | Computação Paralela 28/04/2020 | Atividade 09 | 3ª Nota: OpenCL |
01/09/2020 | Processadores Massivamente Paralelos | Configuração do Ambiente | Computação Paralela 04/05/2020 | ||
07/09/2020 | Processadores Massivamente Paralelos | Visão do Programador | Computação Paralela 05/05/2020 | Atividade 10 | |
08/09/2020 | Processadores Massivamente Paralelos | Recuperação de Informações sobre Dispositivos OpenCL | Computação Paralela 11/05/2020 | ||
14/09/2020 | Processadores Massivamente Paralelos | Exemplo de Programação em OpenCL - Soma de Vetores | Computação Paralela 12/05/2020 | Atividade 11 | |
15/09/2020 | Processadores Massivamente Paralelos | Exemplo de Programação em OpenCL - Soma de Vetores Arbitrários | Computação Paralela 18/05/2020 | ||
21/09/2020 | Processadores Massivamente Paralelos | Produto Escalar em OpenCL | Computação Paralela 19/05/2020 | Atividade 12 | |
22/09/2020 | Processadores Massivamente Paralelos | Multiplicação de Matrizes em OpenCL | Computação Paralela 25/05/2020 | ||
28/09/2020 | Processadores Massivamente Paralelos | Exercícios e Projetos | Atividade 13 | 4ª Nota: Computação Científica | |
29/09/2020 | Computação Paralela do Número Pi | Solução em OpenMP e MPI | |||
05/10/2020 | Computação Paralela do Número Pi | Solução em OpenCL | Atividade 14 | ||
06/10/2020 | Solução da Dispersão de Calor 1D | Solução em OpenMP e MPI | |||
12/10/2020 | Redimensionamento de Imagens | Resolução na CPU e GPU | Atividade 15 | ||
13/10/2020 | Cálculo de Movimento de Partículas | Sistema Gravitacional de N Corpos | |||
19/10/2020 | Cálculo de Movimento de Partículas | Solução em MPI e OpenMP | Atividade 16 | ||
20/10/2020 | Cálculo de Movimento de Partículas | Solução em OpenCL |