Computação Paralela
2
2013-2014
02003476
Computação e Simulação
Português
Inglês
Presencial
Semestral
6.0
Opcional
2º Ciclo - Mestrado
Conhecimentos de Base Recomendados
Saber programar numa linguagem de alto nível
Métodos de Ensino
Ensino eminentemente prático, com recurso extensivo a apresentações de slides, acesso à internet, uso de um terminal de linha de commando para exemplificação de programas e de resultados, e acesso remoto a um cluster de computadores. Todo o material relevante está também disponível na Web
Resultados de Aprendizagem
Objetivos: conhecer a arquitetura de máquinas paralelas; saber distribuir, em problemas selecionados, uma tarefa computacional por um conjunto de processos independentes; saber utilizar os paradigmas da programação paralela.
Competências desenvolvidas:
Competência em análise e síntese;
Competência em resolução de problemas;
Uso da internet como meio de comunicação e fonte de informação;
Capacidade de decisão;
Competência em raciocínio crítico;
Competência em aprendizagem autónoma;
Adaptabilidade a novas situações;
Competência em investigar.
Estágio(s)
NãoPrograma
Noções Básicas: Computação paralela e aus importância. Principais domínios de aplicação. Paradigmas de computação paralela: memória distribuída e partilhada. Algumas noções de supercomputador, principais arquiteturas e middleware associado. Tendências da sua evolução em hardware e software.
Paralelismo ao nível de software: threads, MPI, OpenMP. A medição da eficiência de um algoritmo paralelo: speedup e eficiência de paralelização (Lei de Amdhal).
Exemplos de programação em OpenMP. Loops paralelos, operações coletivas e barreiras. Variáveis privadas e partilhadas.
MPI. Técnicas de Paralelização de Algoritmos: Decomposição de dados e decomposição por domínio. Modelo master-slave para distribuição de dados. Formas de comunicação em MPI para partilha de dados. Comunicadores e topologias de comunicação.
Aplicações: i) álgebra linear; ii) resolução de equações diferenciais (equação de Poisson), iii) transformadas de Fourier.
Bibliotecas Paralelas.
Docente(s) responsável(eis)
Pedro Almeida Vieira Alberto
Métodos de Avaliação
Avaliação
Projecto: 50.0%
Relatórios de resolução de problemas : 50.0%
Bibliografia
B. Chapman, G. Jost, R. van der Pas, Using OpenMP: Portable Shared Memory Parallel Programming, MIT Press, 2007.
W. Gropp, E. Lusk, A. Skjellum, Using MPI Portable Parallel Programming with the Message Passing Interface, segunda edição, MIT Press, 1999.
P. Pacheco, Parallel Programming with MPI, Morgan Kaufmann Publishers, 1997.
http://www.openmp.org
https://computing.llnl.gov/tutorials/mpi