PSPD - Programação Paralela
PSPD UnB-\(\gamma\)
Table of Contents
1 Aula 28 de Julho
Aula dedicada ao estudo dirigido dos conceitos de OpenMP. Neste período de aula os alunos devem dedicar o tempo para aprender o básico do uso de OpenMP e efetuar os primeiros testes em seus computadores.
É esperado que os alunos consigam entender as diretivas básicas da API OpenMP, em especial precisam responder as seguintes perguntas:
- Como criar novos fluxos de execução com OpenMP?
- Como fazer um loop paralelo?
- Como tratar as variáveis compartilhadas do loop?
- Há estrutura de bloqueio, i.e, existe semáforo em OpenMP sem a
necessidade de se utilizar explicitamente as chamadas da
<semaphore.h>
(sem_init
,sem_post
,sem_wait
)? - Como compilar um código em
C
para usar openmp? - É possível definir a quantidade de threads em execução?
- Como saber em qual thread um determinado código está executando?
1.1 Material
1.2 Exercício
Os alunos devem esboçar uma solução para paralelizar o Algoritmo de Ordenação InsertionSort, use como base a solução proposta no Repositório de Benchmark de Ordenação.
- A solução deve ser feita em OpenMP.
2 Aula 04 de Agosto
2.1 Material Adicional interessante
- https://www.dartmouth.edu/~rc/classes/intro_openmp/
- Vários posts sobre OpenMP
3 Aula 11 de Agosto
Live no Youtube
4 Aula 18 de Agosto
Na aula de hoje os alunos devem resolver o exercício disponibilizado na lista pública identificada abaixo.
O Exercício no MOJ é o exercício de referência corrigido de maneira sequencial. Os alunos devem conseguir implementar uma solução sequencial e que seja aceita no sistema MOJ.
O exercício real da aula é a paralelização da solução do exercício proposto no MOJ. O ambiente MOJ não irá fazer correção paralela.
Entradas grandes são disponibilizadas: file-001 file-002
Os alunos devem implementar uma versão paralela em OpenMP
e devem ser
capazes de identificarem a escalabilidade da solução quando executada
com 1, 2, 4 e 8 threads.
Como primeiro ponto de atividade, a ser desenvolvido na aula de hoje, os alunos devem começar a implementar a solução paralela.
Na aula de 25 de agosto serão passadas novos requisitos quanto aos dispositivos de entrega desta atividade (bem como relatórios e solução e o teste de desempenho). Esta atividade pode ser feita em grupos de até 4 pessoas e contará como 10% da nota do primeiro trabalho longo.
4.1 Lista pública no CD-MOJ
- Resolva os exercícios propostos na lista
Para ganhar credenciais de acesso à lista, envie uma mensagem para @mojinhobot, no telegram AQUI, com o conteúdo:
participar bcr-PSPD-2021_1