UFABC - MCZA020-13 - Programação Paralela
Segundo Quadrimestre de 2025

Índice

Permalink

Turma: DA1MCZA020-13SA
Professor: Emilio Francesquini
E-mail: e.francesquini@ufabc.edu.br


div.png

1. Avisos

  • [2025-06-02 Mon] Página colocada no ar.


div.png

2. Informações Gerais

  • Turma DA1MCZA020-13SA Diurno
  • Terça das 10:00 às 12:00, Sala S-214-0, Semanal
  • Sexta das 08:00 às 10:00, Sala S-214-0, Semanal

2.1. Atendimento

Horário Ter Sex
08:00 - 09:00 Atendimento (509-2) Aula (S-214-0)
09:00 - 10:00 Atendimento (509-2) Aula (S-214-0)
10:00 - 11:00 Aula (S-214-0) Atendimento (509-2)
11:00 - 12:00 Aula (S-214-0) Atendimento (509-2)

Horários de atendimento

  • Nos horários listados não é preciso confirmar ou marcar, apenas apareça! :-)
  • Agendado por e-mail
    • Verifique minha agenda e sugira pelo menos dois possíveis horários!
    • Em sala de aula - Após as aulas


div.png

3. Sobre a Disciplina

MCZA020-13 - Programação Paralela

  • TPEI: 4-0-0-4
  • Recomendação: Paradigmas de Programação \(\to\) Programação Funcional
    • E por transitividade: Algoritmos e Estrutura de Dados I; Programação Estruturada; Processamento da Informação

Objetivos

Apresentar aos alunos os principais conceitos de programação paralela e concorrente e as ferramentas e bibliotecas existentes para o desenvolvimento de aplicações paralelas.

Conteúdo Programático

Introdução. Modelos de arquiteturas paralelas. Paralelismo. Tipos de acessos. Organização e distribuição de tarefas. Organização e distribuição de dados. Programação Paralela.

Fonte: Catálogo das Disciplinas da Graduação 2024-2025


div.png

4. Datas Importantes

  • Início das aulas: 02/06/2025
  • Fim das aulas: 23/08/2025

Provas:

  • Prova 1: 15/07/2025
  • Prova 2: 22/08/2025
  • Prova Sub.: 29/08/2025
  • Prova Rec.: A definir

Exercícios Programas:


div.png

5. Listas de Exercícios

Neste oferecimento da disciplina, seguiremos principalmente o livro [SBC]​, que contém uma boa seleção de exercícios.

Para estudos, os exercícios do [SBC]​, poderão ser complementados com as listas de exercício abaixo (retiradas dos oferecimentos anteriores desta disciplina):

5.1. Provas antigas

Pra verificar o seu conhecimento, pode ser interessante dar uma olhada nas provas antigas!


div.png

6. Exercícios Programas

Os enunciados dos exercícios programas serão disponibilizados oportunamente.

  • Os exercícios podem ser feitos em grupos de até 4 pessoas.
  • Durante a avaliação o professor poderá escolher um dos integrantes para que este faça uma apresentação sobre a entrega.
  • A nota de todos os integrantes do grupo será a mesma!. Ou seja, caso algum integrante não esteja colaborando, há a chance dele ser escolhido e comprometer a nota de todos. Escolha seu grupo cuidadosamente!

6.1. EP1 - MPI

Eternity II

6.2. EP2 - OpenMP

Mais detalhes em breve.

6.3. EP3 - CUDA

Mais detalhes em breve.


div.png

7. Aulas

Aula Data Assunto Referências Material
S01A01 03/06 T Apresentação do curso; Programação paralela: introdução e motivação [SBC] 1; [PP] 1; [GGKK] 1 Apresentação
S01A02 06/06 S Conceitos Básicos Pt. 1 [SBC] 2; [PP] 2; [RR] 2; [GGKK] 2 HPC Architecture
S02A03 10/06 T Conceitos Básicos Pt. 2 [SBC] 2; [PP] 2; [RR] 2; [GGKK] 3 Otimizações de Código na Prática
S02A04 13/06 S Conceitos Básicos Pt. 3 [SBC] 2; [PP] 2; [RR] 2; [GGKK] 4 HPC Architecture
S03A05 17/06 T Conceitos Básicos Pt. 4 [SBC] 2; [PP] 2; [RR] 2; [GGKK] 5 HPC Architecture
S03A-- 20/06 S Corpus Christi    
S04A06 24/06 T Análise de Desempenho [SBC] 2; [PP] 2; [RR] 2; [GGKK] 7 Medindo o tempo
S04A07 27/06 S MPI Pt. 1 [SBC] 3  
S05A08 01/07 T MPI Pt. 2 [SBC] 4  
S05A09 04/07 S MPI Pt. 3 [SBC] 5  
S06A10 08/07 T PThreads Pt. 1    
S06A11 11/07 S PThreads Pt. 2    
S07A12 15/07 T Prova 1    
S07A13 18/07 S OpenMP Pt. 1    
S08A14 22/07 T OpenMP Pt. 2    
S08A15 25/07 S OpenMP Pt. 3    
S09A16 29/07 T OpenMP Pt. 4    
S09A17 01/08 S CUDA Pt. 1    
S10A18 05/08 T CUDA Pt. 2    
S10A19 08/08 S CUDA Pt. 3    
S10A20 12/08 T CUDA Pt. 4    
S11A21 15/08 S CUDA Pt. 5    
S12A22 19/08 T Coringa    
S12A23 22/08 S Prova 2    
RepA24 29/08 S Prova Substitutiva    

Confira os vídeos de um oferecimento anterior na modalidade online desta disciplina aqui: https://www.youtube.com/playlist?list=PLR2tpXhN7CHckZTqYxEfmZ4Z5Tha2Y41W Atenção,o conteúdo apresentado nestes vídeos já pode estar um pouco defasado.


div.png

8. Critério de Avaliação

warning.png Honestidade Acadêmica

Entre outros, o código de ética da UFABC estabelece em seu artigo 25 que é eticamente inaceitável que os discentes:
I - fraudem avaliações;
II - fabriquem ou falsifiquem dados;
III - plagiem ou não creditem devidamente autoria;
IV - aceitem autoria de material academico sem participação na produção;
V - vendam ou cedam autoria de material acadêmico próprio a pessoas que não participaram da produção.

Muitos ainda têm dúvidas sobre a interpretação das regras definidas pelo Código de Ética da UFABC. Por esta razão, diversos professores elaboraram um documento (disponível aqui) com vários exemplos e esclarecendo a interpretação das regras acima. Abaixo uma versão resumida. Sempre consulte o documento completo ou converse com o seu professor em caso de dúvidas!

  • Regra 1 - Você não pode enviar para avaliação um trabalho que não seja de sua própria autoria ou que seja derivado/baseado em soluções elaboradas por outros.
  • Regra 2 - Você não pode compartilhar a sua solução com outros alunos nem pedir aos seus colegas que compartilhem as soluções deles com você.
  • Regra 3 - Nos trabalhos enviados para avaliação você deve indicar eventuais assistências que você tenha recebido.

    ATENÇÃO: todos os trabalhos enviados para avaliação poderão ser verificados por um sistema automatizado de detecção de plágio.

Qualquer violação às regras descritas acima implicará:

  • Descarte dos conceitos atribuídos a TODAS as tarefas avaliativas regulares de TODOS os envolvidos, causando assim suas reprovações automáticas com conceito F .
  • Possível denúncia à Comissão de Transgressões Disciplinares Discentes da Graduação, a qual decidirá sobre a punição adequada à violação que pode resultar em advertência, suspensão ou desligamento , de acordo com os artigos 78-82 do Regimento Geral da UFABC.
  • Possível denúncia apresentada à Comissão de Ética da UFABC, de acordo com o artigo 25 do Código de Ética da UFABC.

Regulamentações relevantes:

8.1. Presença

A resolução CONSEPE nº 139 estabelece no seu Artigo 2º, § 4 que nas disciplinas presenciais, a frequência mínima obrigatória para aprovação é de 75% das aulas ministradas e/ou atividades realizadas. Alunos que não atingirem a frequência mínima receberão conceito O.

  • Abonos de faltas: Conforme descrito no portal do MEC, na educação superior não há abono de faltas . Há, contudo, casos especiais para alunos reservistas , alunos com representação na CONAES, gestantes e em dias de guarda religiosa.
  • Substituição de faltas por exercícios domiciliares: As situações em que a falta às aulas podem ser preenchidas por exercícios domiciliares são regulamentadas pelo Decreto-Lei nº 1.044, de 21 de outubro de 1969, e estendidos pela Lei nº 6.202, de 17 de abril de 1975. Nestes casos os alunos devem protocolar requerimento diretamente junto à Central de Atendimento ao Estudante da Pró-reitoria de Graduação da UFABC. A Resolução nº 25/2020 da CG dispõe o procedimento a ser seguido para o Regime de Exercícios Domiciliares na UFABC.
  • Mecanismos de avaliação substitutivos:
    • Atividades não presenciais: Não existe adiamento ou reposição de mecanismos de avaliação não presenciais (como, por exemplo, listas de exercícios) devido a faltas justificadas, afastamentos médicos, etc., uma vez que tais atividades tem um prazo de entrega extenso. Em particular, o Artigo 1º, da Resolução 227 do CONSEPE deixa claro que mecanismos de avaliação substitutivos só se aplicam a "avaliações presenciais".
    • Atividades presenciais: No caso de ausência justificada em uma avaliação presencial (e.g., prova escrita) através de um dos comprovantes previstos na Resolução 227 do CONSEPE, o aluno terá direito a requerer uma avaliação substitutiva em uma data a ser combinada.

Regulamentações Relevantes:

8.2. Mecanismos de Avaliação

A avaliação da disciplina será composta por duas notas principais, uma referente à teoria e outra a projetos práticos. Considere:

  • \(N_F\) é a nota final;
  • \(N_{\text{Pr}}\) é a nota das provas;
  • \(N_{\text{E}}\) é a nota dos exercícios programas.

A nota final (\(N_F\)) será determinada pela média harmônica ponderada de \(N_{\text{Pr}}\) e \(N_{\text{E}}\) com pesos 3 e 2 respectivamente:

\begin{equation*} N_F = \frac{5}{\frac{3}{\max\{0.1, N_{\text{Pr}}\}} + \frac{2}{\max\{0.1, N_{\text{E}}\}}} \end{equation*}

O conceito final (\(C_F\)) será obtido de acordo com a equação abaixo:

\begin{equation*} C_F = \begin{cases} \textbf{F} ,& \text{se } N_F \in [0,0;5,0) \\ \textbf{D} ,& \text{se } N_F \in [5,0;6,0) \\ \textbf{C} ,& \text{se } N_F \in [6,0;7,0) \\ \textbf{B} ,& \text{se } N_F \in [7,0;8,5) \\ \textbf{A} ,& \text{se } N_F \in [8,5;10,0] \\ \end{cases} \end{equation*}

8.3. Provas

Serão aplicadas duas provas, de pesos 2 e 3 respectivamente. A nota \(N_{\text{Pr}}\) será dada pela sua média ponderada conforme a seguinte fórmula:

\begin{equation*} M_{\text{Pr}} = \frac{2 P_1 + 3 P_2}{5} \end{equation*}
  • A prova será efetuada em sala de aula, sem qualquer tipo de consulta.

8.4. Exercícios Programas

Teremos 3 EPs de igual peso durante o quadrimestre. A nota dos exercícios programas \(N_{\text{E}}\) será calculada por uma média harmônica simples conforme a seguinte fórmula:

\begin{equation*} N_{E}= \frac{3}{\frac{1}{\max\{0.1, N_{\text{EP1}}\}} + \frac{1}{\max\{0.1, N_{\text{EP2}}\}} + \frac{1}{\max\{0.1, N_{\text{EP3}}\}} } \end{equation*}

8.5. Prova Substitutiva

A prova substitutiva será aberta a todos os interessados. A sua nota, obrigatoriamente, será utilizada em substituição à menor nota dentre a P1 ou P2, ainda que isto diminua a nota final do aluno.

8.6. Recuperação

Conforme Resolução ConsEPE nº 182 fica assegurado a todos os alunos com \(C_F\) igual a D ou F o direito a fazer uso de mecanismos de recuperação.

A recuperação será feita através de uma prova \(P_R\), sem consulta, e a sua nota será utilizada para compor a o conceito pós-recuperação \(C_R\) conforme as equações abaixo:

\[N_R = \frac{P_R + N_F}{2}\]

Caso 1 \(C_F = D\):

\begin{equation*} C_R = \begin{cases} \textbf{C} ,& \text{se } N_R \geq 6,0 \\ \textbf{D} ,& \text{caso contrário} \end{cases} \end{equation*}

Caso 2 \(C_F = F\):

\begin{equation*} C_R = \begin{cases} \textbf{D} ,& \text{se } N_R \geq 5,0 \\ \textbf{F} ,& \text{caso contrário} \end{cases} \end{equation*}


div.png

9. Recursos Online

10. Bibliografia

10.1. Básica

Os principais textos utilizados neste curso serão o [SBC] e PP.

div.png

sbc.jpeg [SBC]

div.png

pp.jpeg [PP]

10.2. Complementar

Para nos aprofundarmos em alguns dos assuntos dados em aula, ocasionalmente faremos referências aos seguintes livros:

div.png

rr.jpeg [RR]

div.png

ggkk.jpeg [GGKK]

div.png

sr.jpeg [SR]


Última atualização: 2025-07-01 09:31
Emacs 30.1 (Org-mode 9.7.11)

Autor: Emilio Francesquini
e.francesquini@ufabc.edu.br

Criado em: 2025-07-01 Tue 09:31