“Dar-me-eis um grão de trigo pela primeira casa do tabuleiro; dois pela segunda, quatro pela terceira, oito pela quarta, e, assim dobrando sucessivamente, até a sexagésima quarta e última casa do tabuleiro. Peço-vos, ó rei, de acordo com a vossa magnânima oferta, que autorizeis o pagamento em grãos de trigo, e assim como indiquei!” Malba Tahan, O Homem que Calculava.
Esta coleção apresenta uma trajetória progressiva para o estudo da programação paralela e distribuída, desde os conceitos fundamentais e os principais modelos de programação até o desenvolvimento de aplicações para arquiteturas híbridas e heterogêneas.
O primeiro volume introduz os fundamentos da programação paralela, a avaliação de desempenho e os modelos MPI, OpenMP e OpenACC. O segundo aprofunda esses conhecimentos, abordando arquiteturas paralelas, tarefas, aceleradores, múltiplas GPUs, transferência de processamento e programação híbrida.
Os dois livros são acompanhados por programas em C, exercícios, estudos de caso, slides, notebooks de laboratório e ferramentas interativas. Esses recursos podem ser utilizados em conjunto com os livros ou selecionados individualmente por estudantes, professores e profissionais.
Para conhecer mais detalhes sobre os livros acima e adquiri-los no formato impresso ou e-book, acesse o site da editora Casa do Código.
Alguns slides de apoio para os professores estão disponíveis a seguir.
Repositório com códigos fonte em OpenMP para os Livros 1 e 2.
Repositório com códigos fonte em OpenACC para os Livros 1 e 2.
Repositório com códigos fonte sequenciais para os Livros 1 e 2.
Colocamos disponíveis algumas ferramentas de visualização, disponíveis em português, espanhol e inglês, para auxiliar no entendimento do funcionamento da distribuição de dados e carga de trabalho entre processos/threads de uma aplicação MPI ou OpenMP.