Programa

Computação Paralela

Diploma de Estudos Avançados em Engenharia Computacional

Programa

Modelos de computação paralela: multiprocessadores e multicomputadores; organização da memória; complexidade da comunicação. Redes de Interligação. Taxonomia de Flynn. Programação em sistemas de passagem de mensagens: MPI, metodologia de Foster. Programação em sistemas com memória partilhada: OpenMP, threads, condições de corrida, detecção de interblocagem. Análise e síntese de algoritmos paralelos: divisão do problema; organização dos dados; sincronização; balanceamento e escalonamento. Análise do desempenho de algoritmos paralelos. Fundamentos de computação distribuída e suas aplicações aos algoritmos paralelos. Limites da computação paralela. Estudo de algoritmos paralelos: algoritmos de ordenação; algoritmos numéricos, multiplicação de matrizes, solução de sistemas lineares. algoritmos em grafos.algoritmos de procura e optimização.

Computação Paralela e Distribuída

Mestrado Bolonha em Engenharia e Ciência de Dados

Mestrado Bolonha em Engenharia Informática e de Computadores - Taguspark

Mestrado Bolonha em Engenharia Eletrotécnica e de Computadores

Mestrado Bolonha em Engenharia Informática e de Computadores - Alameda

Minor em Computação de Elevado Desempenho

Programa

Arquiteturas para computação paralela. Taxonomia de Flynn. Modelos de programação: multicores e multicomputadores; organização da memória; overheads. Análise e síntese de algoritmos paralelos: particionamento de problemas; organização dos dados; comunicação e sincronização; balanceamento de carga; agendamento. Métricas de desempenho. Programação de sistemas de memória partilhada: OpenMP, threads, condições de corrida, deteção de deadlock. Programação de sistemas de memória distribuída: redes de interligação; passagem de mensagens, MPI. Programação híbrida. Computação heterogénea: GPU; FPGA. Áreas de aplicação: métodos numéricos: multiplicação de matrizes, sistemas de equações lineares; algoritmos em grafos; ordenação; algoritmos de procura e otimização; métodos de Monte Carlo; outros.