Total de horas trabalho: 156
Total de horas de contacto: 30
Computação de alto desempenho é a utilização de um computador paralelo com o objetivo de reduzir o tempo necessário para resolver uma única instância de um problema computacional. Este tipo de computação é atualmente fortemente suportada pela existência de uma biblioteca padrão denominada MPI (Message Passing Interface) para programação paralela por troca de mensagens, e pela facilidade com que se pode agregar computadores pessoais/estações de trabalho de baixo custo de forma a se obterem plataformas de computação paralela, vulgarmente denominadas “clusters”. Este tipo de plataforma tem vindo a ser adotada pelas empresas como primeira escolha para as suas elevadas necessidades computacionais. Nesta unidade curricular pretende-se que os alunos aprendam a analisar e decompor um problema em componentes executáveis em paralelo e que implementem o respetivo programa paralelo recorrendo à biblioteca padrão para troca de mensagens MPI.
Espera-se que o aluno ao concluir esta unidade curricular esteja capaz de:
Reconhecer o papel e a importância da computação de alto desempenho no contexto mais geral da construção de sistemas de informação e comunicação;
Identificar as principais técnicas, metodologias e ferramentas de computação de alto desempenho;
Aplicar técnicas de computação de alto desempenho para implementar soluções computacionais para resolver problemas de média a elevada complexidade.
Motivação e história;
Arquiteturas paralelas;
Projeto de algoritmos paralelos;
Programação por troca de mensagens;
A biblioteca MPI;
Análise de desempenho;
Aplicações.
Michael J. Quinn, Parallel Programming in C with MPI and OpenMP, McGraw-Hill Higher Education, ISBN-13: 978-0071232654.
Ananth Grama, George Karypis, Vipin Kumar, Anshul Gupta, Introduction to Parallel Computing, 2nd edition, Pearson - Addison Wesley, ISBN-13: 978-0201648652.
E-learning
A avaliação tem caráter individual e implica a coexistência de duas modalidades: avaliação contínua (60%) e avaliação
final (40%). Essa avaliação será desenvolvida na aplicação de formas diversificadas, definidas no Contrato de Aprendizagem da
unidade curricular.
Admite-se que os estudantes dominem a língua inglesa ao nível da leitura e que saibam programar em linguagem C.