Programação Paralela e Distribuída (eBook)
364 Seiten
Casa do Código (Verlag)
978-85-5519-304-0 (ISBN)
Neste livro, os autores apresentam conceitos iniciais do paradigma de programação paralela em um guia seguro, eficiente e produtivo. Você aprenderá sobre as APIs e bibliotecas MPI, para troca de mensagens, além de OpenMP e OpenACC, para uso com o paradigma de memória compartilhada e aceleradores. Ao longo do livro são apresentados exemplos objetivos para o uso de cada uma das funções, diretivas e cláusulas dos paradigmas, bibliotecas e interfaces abordados. Todos cuidadosamente elaborados, compilados e testados em ambientes paralelos, de modo que possam ser baixados e reproduzidos facilmente por estudantes, profissionais e entusiastas. O livro ainda conta com estudos de caso e exercícios ao final de cada capítulo, como forma de fixação e complemento dos conceitos elencados na parte teórica.
Gabriel P. Silva tem doutorado em Engenharia de Sistemas e Computação pela Universidade Federal do Rio de Janeiro. Atualmente é Professor Associado do Instituto de Computação da UFRJ. Tem larga experiência na área de Ciência da Computação, com ênfase em Arquitetura de Sistemas de Computação, atuando principalmente nos seguintes temas: arquitetura de computadores, programação paralela, computação de alto desempenho e internet das coisas. Calebe P. Bianchini tem mais de 20 anos em experiências com computação paralela e distribuída, participantes de diversos projetos de pesquisa e desenvolvimento de software de diversos tamanhos, para diversas empresas (por exemplo, Petrobras, Shell, Intel etc). Hoje é professor da Universidade Presbiteriana Mackenzie atuando também como pesquisa, mas também gerenciando pequenas equipes de desenvolvimento de software in-house. Formou-se em Ciência da Computação na UFSCar (2000), com mestrado também na UFSCar (2002) e doutorado na POLI/USP (2009). Evaldo B. Costa é Engenheiro de telecomunicações, mestre e doutor em informática pela Universidade Federal do Rio de Janeiro (UFRJ). Profissional com mais de vinte anos de experiência na área de Tecnologia da Informação, atuando principalmente nos seguintes temas: programação paralela e computação de alto desempenho.
1 Introdução
1.1 Exemplos de aplicações paralelas
1.2 MPI
1.3 OpenMP
1.4 OpenACC
2 Conceitos básicos
2.1 Processos e Threads
2.2 Programação paralela
2.3 Balanceamento de carga
2.4 Avaliação de desempenho
2.5 Arquiteturas paralelas
2.6 Exercícios propostos
3 Comunicação ponto a ponto no MPI
3.1 Introdução
3.2 Comunicadores
3.3 Exemplo de um programa em MPI
3.4 Funções de gerenciamento do ambiente
3.5 Envio e recepção de mensagens
3.6 Identificando as mensagens recebidas
3.7 Algumas recomendações
3.8 Estudo de caso: método do trapézio
3.9 Exercícios propostos
4 Comunicação coletiva no MPI
4.1 Barreira
4.2 Difusão
4.3 Distribuição
4.4 Coleta
4.5 Redução
4.6 Redução com difusão
4.7 Coleta com difusão
4.8 Transposição
4.9 Algumas observações
4.10 Estudo de caso: multiplicação de matriz por vetor
4.11 Exercícios propostos
5 Comunicação MPI em detalhes
5.1 Introdução
5.2 Rotinas de envio e recepção bloqueantes
5.3 Rotinas de envio e recepção não bloqueantes
5.4 Esperando a mensagem
5.5 Modos de comunicação
5.6 Evitando o impasse ou deadlock
5.7 Considerações de desempenho
5.8 Estudo de caso: números primos
5.9 Exercícios propostos
6 OpenMP
6.1 Introdução
6.2 Diretivas principais
6.3 Funções OPENMP
6.4 Cláusulas
6.5 Sincronização
6.6 Variáveis de ambiente
6.7 Erros comuns e recomendações
6.8 Estudos de caso
6.9 Exercícios
7 OpenACC
7.1 Modelo de programação OpenACC
7.2 Diretivas principais
7.3 Movimentação de dados
7.4 Cláusulas das diretivas parallel
7.5 Cláusulas da diretiva loop
7.6 Diretivas avançadas
7.7 Funções OpenACC
7.8 Variáveis de ambiente
7.9 Erros comuns e recomendações
7.10 Estudos de caso
7.11 Exercícios
8 Ambientes de execução
8.1 Preparação do ambiente de execução MPI
8.2 Preparação do Ambiente de Execução OpenMP
8.3 Preparação do ambiente de execução OpenACC
Referências
| Erscheint lt. Verlag | 23.5.2022 |
|---|---|
| Verlagsort | São Paulo |
| Sprache | portugiesisch |
| Themenwelt | Mathematik / Informatik ► Informatik ► Programmiersprachen / -werkzeuge |
| Schlagworte | Computação • desenvolvimento • paralelismo • sistemas • Software |
| ISBN-10 | 85-5519-304-4 / 8555193044 |
| ISBN-13 | 978-85-5519-304-0 / 9788555193040 |
| Informationen gemäß Produktsicherheitsverordnung (GPSR) | |
| Haben Sie eine Frage zum Produkt? |
Kopierschutz: Adobe-DRM
Adobe-DRM ist ein Kopierschutz, der das eBook vor Mißbrauch schützen soll. Dabei wird das eBook bereits beim Download auf Ihre persönliche Adobe-ID autorisiert. Lesen können Sie das eBook dann nur auf den Geräten, welche ebenfalls auf Ihre Adobe-ID registriert sind.
Details zum Adobe-DRM
Dateiformat: EPUB (Electronic Publication)
EPUB ist ein offener Standard für eBooks und eignet sich besonders zur Darstellung von Belletristik und Sachbüchern. Der Fließtext wird dynamisch an die Display- und Schriftgröße angepasst. Auch für mobile Lesegeräte ist EPUB daher gut geeignet.
Systemvoraussetzungen:
PC/Mac: Mit einem PC oder Mac können Sie dieses eBook lesen. Sie benötigen eine
eReader: Dieses eBook kann mit (fast) allen eBook-Readern gelesen werden. Mit dem amazon-Kindle ist es aber nicht kompatibel.
Smartphone/Tablet: Egal ob Apple oder Android, dieses eBook können Sie lesen. Sie benötigen eine
Geräteliste und zusätzliche Hinweise
Buying eBooks from abroad
For tax law reasons we can sell eBooks just within Germany and Switzerland. Regrettably we cannot fulfill eBook-orders from other countries.
aus dem Bereich