A disciplina consta da área de especialização do curso e o seu principal objetivo é fornecer competências na área de Computação de Alto Desempenho.
Computação de Alto Desempenho (CAD) é uma área do conhecimento que lida com a modelagem e a resolução computacionalde problemas que requerem muitos recursos computacionais. Historicamente, a área tem sido associada à computação científica e ao desenvolvimento de modelos e simulações de sistemas naturais, sendo estes executados em instalações dedicadas de computação. No entanto, com a atual disponibilidade de paralelismo real em hardware comum, desde dos computadores pessoais aos dispositivos móveis, a computação paralela está a tornar-se imprescindível sempre que se pretendecolher todo o poder computacional disponível nesse hardware. Além disso, a análise de grandes conjuntos de dados (Big Data analytics) é agora também um motor de desenvolvimento importante para a CAD. O processamento Big Data não está mais limitado a cálculos simples em grandes quantidades de dados. Muitas aplicações comerciais estão a aplicar algoritmos complexos sobre grandes quantidades de dados, com o objetivo de extrair conhecimento.
A disciplina CAD ensina aos alunos como resolver problemas complexos através do desenho e da implementação de algoritmos que serão executados em arquiteturas paralelas. Os alunos aprenderão conceitos e técnicas fundamentais que podem ser aplicados numa ampla gama de problemas e de arquiteturas de computadores. Ao mesmo tempo aprenderão técnicas para escrever algoritmos eficientes para tipos específicos de problemas e/ou de arquiteturas de computadores.
O curso tem uma grande ênfase na experimentação. Assim sendo, os alunos terão atividades de laboratório e projeto onde aplicarão os conceitos aprendidos. O foco estará na programação de sistemas de computaçãoheterogêneos (CPU(s) + GPU(s)), com CUDA, e no processamento de grandes quantidades de dados em sistemas de memória distribuída, com Spark.
Saber:
Saber como:
Soft-skills.
Motivação
Fundamentos de Computação Paralela
Computação Paralela
Computação de alto desempenho centrada em dados
Algoritmos Paralelos
O futuro da computação de alto desempenho
Como é prática nos cursos de CAD não há um livro da disciplina. Existem vários livros que cobrem os conceitos fundamentais de CAD. Segue uma lista:
Computação em GPUs:
Processamento de grandes quantidades de ddos
Supõe-se que os estudantes conhecem conceitos básicos de arquitetura de computadores, redes de comunicação e sistemas de operação, e assume-se proficiência em programação (tem sido utilizadas a linguagem C/C++ e Java).
Horas por crédito | 28 | ||
Horas p/ semana | Semanas | Horas | |
Aulas práticas e laboratoriais | 26.0 | ||
Aulas teóricas | 26.0 | ||
Avaliação | 4.0 | ||
Estudo | 52.0 | ||
Projectos e trabalhos | 64.0 | ||
Total de Horas | 172 | ||
ECTS | 6.0 |