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):