Computação de Alto Desempenho (2019/2020) - Departamento de Informática
Descrição

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.

Objectivos

Saber:

Saber como:

Soft-skills.

Programa

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

Bibliografia Principal

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

Requisitos Prévios

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

Esforço do Aluno
  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