Computação Paralela

Ano
2
Ano lectivo
2013-2014
Código
02003476
Área Científica
Computação e Simulação
Língua de Ensino
Português
Outras Línguas de Ensino
Inglês
Modo de Ensino
Presencial
Duração
Semestral
Créditos ECTS
6.0
Tipo
Opcional
Nível
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ão

Programa

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