DEPARTAMENTO DE FÍSICA

 

Computação Paralela - F+Mat

Ano letivo: 2014-2015
Especificação técnica - ficha curricular

Elementos especificos
código da disciplinaciclo de estudossemestre lectivocréditos ECTSlíngua de ensino
2003476116pt *)

*) N.B.  se houver estudantes que não falem português a língua é o inglês.

Objectivos formativos
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:
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.
Programa genérico mínimo
Noções Básicas: Computação paralela e sua 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.
Pré-requisitos
Competências genéricas a atingir
. Competência em análise e síntese;
. Competência em organização e planificação;
. Competência para resolver problemas;
. Uso da internet como meio de comunicação e fonte de informação;
. Capacidade de decisão;
. Competência em trabalho em grupo;
. Competência em trabalho em equipas interdisciplinares;
. Competência em raciocínio crítico;
. Competência em aprendizagem autónoma;
. Adaptabilidade a novas situações;
. Competência em investigar;
(por ordem decrescente de importância)
Horas lectivas semestrais
aulas teóricas30
aulas práticas laboratoriais30
total horas lectivas60

Método de avaliação
Resolução de problemas50 %
Projecto50 %
concretização da avaliação em 20142015
Avaliação Projecto: 50.0%
Relatórios de resolução de problemas : 50.0%

Bibliografia de referência

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

Método 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

Recursos específicos utilizados
Cluster de computadores