Guia de Cursos

Queres conhecer a oferta de cursos da NOVA, nas áreas das licenciaturas, mestrados e doutoramentos?
No nosso Guia de Cursos encontras informação útil sobre Faculdades, Institutos e Escolas.
Podes ainda aceder a informações complementares necessárias a uma completa integração.

saber mais Guia de Cursos

Faculdade de Ciências e Tecnologia

Computação de Alto Desempenho

Código

11165

Unidade Orgânica

Faculdade de Ciências e Tecnologia

Departamento

Departamento de Informática

Créditos

6.0

Professor responsável

Hervé Miguel Cordeiro Paulino, Pedro Abílio Duarte de Medeiros

Horas semanais

4

Total de horas

56

Língua de ensino

Português

Objectivos

Saber:

  • Arquiteturas de multiprocessadores e arquiteturas heterogéneas (CPU e GPUs)
  • Técnicas de decomposição de problemas
  • Linguagens, bibliotecas e ferramentas necessárias para as vários fases de desenvolvimento de um programa paralelo

Saber Fazer:

  • Otimização do desempenho de um programa sequencial
  • Utilização de ferramentas de medida de desempenho de multiprocessadores e de clusters
  • Programação de multiprocessadores usado C/C++, OpenMP, MPI e CUDA da NVIA

Soft-Skills:

  • Raciocionar e avaliar criticamente as alternativas de solução e abordagens para a resolução de problemas.

Pré-requisitos

Supõe-se que os estudantes conhecem conceitos básicos de arquitetura de computadores, redes de comunicação e sistemas de operação, e assume-se proficiência em programação (tem sido utilizada a linguagem C ou C++).

Conteúdo

  1. Computação de alto desempenho: hardware, software, aplicações e indicadores de desempenho.
  2. Programação de multiprocessadores de memória partilhada. .
  3. Computação usando GPUs. 
  4. Programação de clusters.

Bibliografia

Principal:

  • P. Pacheco, " An Introduction to Parallel Programming", Morgan Kauffman, 2011
  • CUDA C Programming Guide, NVIDIA corporation

Bibliografia adicional:

  • Norm Matloff, "Programming on Parallel Machines: GPU, Multicore, Clusters and More", University of California, Davis,

Método de ensino

As aulas teóricas têm por objectivo a apresentação dos principais temas e discutir as questões mais relevantes. As sessões laboratoriais têm lugar num laboratório de uso geral com acesso a PCs (que são multi-core) quer para a programação de memória partilhada quer para a de memória distribuída. Estão também acessíveis máquinas com arquitecturas heterogéneas (com CPU e GPUs Nvidia) para a programação de modelos de memória partilhada.

Método de avaliação

Elementos de avaliação

Dois testes ou exame (com peso de 60%) sem consulta.

Dois trabalhos práticos (com peso de 40%).

Frequência

Média dos trabalhos práticos  >=  8.

Cálculo da nota final

NT = média dos testes ou nota de exame

NP = média das notas dos trabalhos práticos

se NT < 8 então Nota final = NT

caso contrário, Nota final =  NT*0.6 + NP*0.4

Cursos