Minicursos da XX Escola Regional de Alto Desempenho da Região Sul
Palavras-chave:
Experimentos computacionais, Computação de alto desempenho, Análise de desempenho, OpenACC, Programação paralela, Aceleradores, OpenMP, Contadores de hardware, Paradigma orientado a tarefas, StarPU, Aplicações científicas, Sistemas embarcados, Redes em chip, FPGASinopse
Este livro apresenta versões textuais, na forma de capítulos de livro, de seis minicursos aceitos e apresentados na XX Escola Regional de Alto Desempenho da Região Sul (ERAD/RS). Os minicursos tratam de aspectos técnicos relacionados aos seguintes temas: programação paralela para processadores multicore e aceleradores, avaliação de desempenho de programas paralelos e redes em chip em FPGAs. No primeiro capítulo deste livro, "Boas Práticas para Experimentos Computacionais de Alto Desempenho", os autores apresentam técnicas e boas práticas para a análise de desempenho de aplicações paralelas para computação de alto desempenho. No segundo capítulo, "Introdução à Programação com OpenACC", os autores oferecem uma introdução à programação paralela com OpenACC através de uma abordagem expositiva, acrescida da utilização de exemplos com diversas arquiteturas. No terceiro capítulo, "Programação Paralela em Memória Compartilhada e Avaliação de Desempenho com Contadores de Hardware", os autores discutem os paradigmas de programação paralela e vetorial, assim como algumas possibilidades básicas de otimização de aplicações em arquiteturas atuais e de análise de desempenho através de contadores de hardware. No quarto capítulo, "Introdução ao Desenvolvimento de Aplicações Paralelas com o Paradigma Orientado a Tarefas e o Runtime StarPU", os autores tratam sobre o paradigma orientado a tarefas e como construir programas paralelos para sistemas com recursos físicos heterogêneos utilizando o runtime StarPU. No quinto capítulo, "Programando Aplicações com Diretivas Paralelas", os autores apresentam técnicas de exploração de paralelismo em diferentes trechos de código de aplicações científicas através do uso das interfaces de programação OpenMP e OpenACC. Por fim, no sexto capítulo, "Estudo de Networks on Chip (NoCs) em FPGAs", os autores apresentam os conceitos básicos relacionados às NoCs juntamente com uma discussão do uso de NoCs em dispositivos reconfiguráveis (FPGAs).
Capítulos
-
1. Boas Práticas para Experimentos Computacionais de Alto Desempenho
-
2. Introdução à Programação com OpenACC
-
3. Programação Paralela em Memória Compartilhada e Avaliação de Desempenho com Contadores de Hardware
-
4. Introdução ao Desenvolvimento de Aplicações Paralelas com o Paradigma Orientado a Tarefas e o Runtime StarPU
-
5. Programando Aplicações com Diretivas Paralelas
-
6. Estudo de Networks on Chip (NoCs) em FPGAs