Currículo

Computação Avançada CompAv

Contextos

Groupo: Escola de Tecnologias e Arquitetura > Optativas > Departamento de Ciências e Tecnologias da Informação > 1º Ciclo

Groupo: Escola de Tecnologias e Arquitetura > Optativas > Departamento de Ciências e Tecnologias da Informação > 1º Ciclo

ECTS

6.0 (para cálculo da média)

Objectivos

OA1. Compreender o significado de medidas de desempenho em arquitecturas paralelas e saber quantificar o ganho trazido por modificações numa arquitectura. OA2 Compreender o funcionamento e desenho das arquitecuras paralelas actuais. OA3. Saber como escrever um programa paralelo em MPI, OpenMP e CUDA. OA4. Saber como aproveitar as arquitecturas paralelas para melhorar o desempenho das operações básicas de computação científica.

Programa

CP1: Introdução às arquitecturas paralelas - Tipos de arquitecturas paralelas - Modelos de comunicação, e custos de comunicação - Medidas de desempenho CP2: Arquitecturas de memória partilhada - Protocolos de coerência de cache - Programação em OpenMP CP3: Arquitecturas de memória distribuída - Operações básicas de comunicação - Modelização e análise de algoritmos paralelos: Paralelismo e custos de comunicação. - Programação em MPI CP4: Arquitecturas baseadas em GPU - Introdução a GPU - Programação em CUDA CP5: Computação científica paralela - Multiplicação matriz-vector - Multiplicação matriz-matriz - Resolução de sistemas de álgebra linear - Algoritmos para análise de grafos.

Método de Avaliação

Aulas teóricas, e teórico-práticas (3h por semana) e práticas/laboratoriais (1h30 por semana) num total de 12 semanas de aulas. | A avaliação é periódica e consiste num trabalho realizado em grupos de dois alunos, que representa 40% da nota final, e dois testes intercalares individuais representando os restantes 60%. Existe também a opção do exame final para aqueles alunos que não superem a avaliação periódica, ou simplesmente não desejem ser avaliados de maneira periódica.

Carga Horária

Carga Horária de Contacto -

Trabalho Autónomo - 95.0

Carga Total -

Bibliografia

Principal

  • - Introduction to Parallel Computing. W.P Petersen, and P. Arbenz. Oxford Press (2004) - CUDA by example: An introduction to General-Purpose GPU programming. J. Sanders, E. Kanbrot. Addison-Wesley (2011) - Introduction to Parallel Computing. A. Grama, A. Kupta, G. Karypis, V. Kumar. Addison Wesley (2003) - Computer Organization and Design: The Hardware/software interface. D.A. Patterson, J.L. Hennessy. Morgan Kaufmann Publ. 4ª Ed. (2012):

Secundária

  • Material disponível na plataforma de e-learning do ISCTE-IUL (Slides, caderno de exercícios, guias do Laboratório, simuladores, compiladores/debuggers):

Disciplinas de Execução

2024/2025 - 2º Semestre

2022/2023 - 2º Semestre