Introdução à programação paralela em arquiteturas de memória compartilhada
(OpenMP, CUDA, OpenACC)
1) Objetivos e público alvo:
- Familiarização ambiente Linux para o desenvolvimento, compilação e execução de códigos;
- Apresentar conceitos básicos de programação paralela em arquiteturas de memória compartilhada (CPU's multi-core e GPU's);
- Difundir a utilização da programação GPGPU;
- Público alvo: alunos (graduação e pós-graduação) e pesquisadores em geral que tenham interesse em aplicar programação paralela em problemas que demandam alto poder computacional;
2) Requisitos:
- Conhecimento básico em Fortran e/ou C, C++;
3) Ementa:
- Breve introdução ao ambiente Linux;
- Breve introdução à programação paralela;
- Conceitos de programação paralela com OpenMP (CPU's muti-core);
- Evolução das GPU's e das linguagens de programação;
- Arquitetura das CPU's comparada com as GPU's;
- Introdução à programação em GPU CUDA (chamar CUDA C em fortran);
- Utilização CUBLAS Library;
- Introdução ao OpenACC (Diretivas paralelização GPU em Fortran PGI)
- Aplicação de exemplos e exercícios práticos;