Casa do Código - Livros e Tecnologia

  • Programação
  • Lógica
  • Java
  • .NET
  • PHP
  • Games
  • OO
  • Funcional
  • Python
  • Outros
  • Todos
  • Mobile
  • iOS
  • Android
  • Multiplataforma
  • Outros
  • Todos
  • Front-end
  • HTML e CSS
  • JavaScript
  • Outros
  • Todos
  • Infraestrutura
  • Web
  • Dados
  • Outros
  • Todos
  • Business
  • Startups
  • Marketing Digital
  • Gestão
  • Agile
  • Outros
  • Todos
  • Design & UX
  • Você tem 0 itens na sacola 0 Abrir navegação por categorias e busca Ir para ao topo da página

    Use o código e tenha 10% de desconto!

    Programação Paralela e Distribuída com MPI, OpenMP e OpenACC para computação de alto desempenho

    Gabriel P. Silva, Calebe P. Bianchini, Evaldo B. Costa
    Livro de Programação Paralela e Distribuída

    *Você terá acesso às futuras atualizações do livro.

    Conteúdo

    A programação paralela nos permite criar aplicações que podem realizar uma quantidade expressiva de cálculos sobre um conjunto significativo de dados, com resultados em prazos muito mais reduzidos, quando comparados com ouso da programação sequencial. Com isso, abrem-se possibilidades para desenvolvimento de modelos computacionais mais sofisticados para a solução de problemas cada vez mais complexos.

    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.

    Saiba o que você vai aprender

     

    Sumário

    • 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

    Autores

    Gabriel P. Silva

    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

    Calebe P. Bianchini tem mais de 20 anos de experiência com computação paralela e distribuída, participação em 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 com pesquisa, e gerencia pequenas equipes de desenvolvimento de software in-house. Formou-se em Ciência da Computação na UFSCar (2000), com mestrado na UFSCar (2002) e doutorado na POLI/USP (2009).

    Evaldo B. Costa

    Evaldo B. Costa é Engenheiro de telecomunicações, mestre e doutor em informática pela Universidade Federal do Rio de Janeiro (UFRJ). Possui mais de vinte anos de experiência na área de Tecnologia da Informação e atua principalmente nos seguintes temas: programação paralela e computação de alto desempenho.

    Dados do produto

    Número de páginas:
    364
    ISBN:
    978-85-5519-303-3
    Data publicação:
    05/2022
    Submeter errata Fórum de discussões

    Compartilhe!

    Compartilhe no Facebook Compartilhe no Twitter

    Impulsione sua carreira aprendendo também...

    Livro de Rust
    Rust
    +
    Livro de Akka e Akka Streams
    Akka & Akka Streams
    altLogoFooter

    Uma empresa do Grupo Alun

    Logo da Alun

    Links da
    Casa do Código

    • Meus ebooks
    • Sobre a Casa do Código
    • Todos os livros
    • Nossas coleções
    • Quero escrever um livro ou fazer parceria
    • Perguntas Frequentes
    • Política de Privacidade
    • Fale conosco

    Nas redes sociais

    • /CasaDoCodigo
    • @casadocodigo
    • @casadocodigo

    Receba novidades e lançamentos

    Este site aceita Pix, Cartão de Crédito, Débito

    • pagarme
    • paypal

    Grupo Alun

    • Educação em Tecnologia

      • FIAP
      • Casa do Código
      • PM3 - Cursos de Produto
    • Mais Alura

      • Alura Start
      • Alura Língua
      • Alura Para Empresas
      • Alura LATAM
    • Comunidade

      • Tech Guide
      • 7 days of code
      • Hipsters ponto Jobs
    • Podcasts

      • Hipsters ponto Tech
      • Dev sem Fronteiras
      • Layers ponto Tech
      • Like a Boss
      • Scuba Dev