3 pontos por GN⁺ 2023-12-31 | 1 comentários | Compartilhar no WhatsApp

Fundamentos da computação científica

  • Um livro que aborda conhecimentos gerais de base sobre computação científica, incluindo arquitetura de computadores, arquitetura de computadores paralelos, aritmética computacional, álgebra linear e ODE/PDEs.
  • Também inclui como tudo se combina em computações de grande porte.

Ciência e engenharia para programação paralela

  • Grande parte da computação científica envolve programação paralela de alguma forma.
  • É a melhor introdução às versões modernas de MPI e OpenMP, incluindo também seções curtas sobre PETSc, Kokkos, Sycl e Co-array Fortran.
  • Destaca-se pela cobertura de MPI e OpenMP em C, Fortran, C++ e, no caso do MPI, Python.

Introdução à programação científica

  • A programação científica e de engenharia é feita principalmente em C/C++ e Fortran.
  • Um livro que ensina C++17 moderno (hoje em dia preferido em vez de C) e Fortran2008.
  • Pode ser lido como uma introdução do zero à programação científica ou como um "C++ para programadores C".
  • Inclui vários projetos longos de programação.

Marcenaria de HPC

  • O ecossistema da computação científica inclui muito mais do que apenas linguagens de programação e sistemas de programação paralela.
  • É necessário entender compiladores, sistemas de build, gerenciamento de código-fonte e outros elementos; este livro não tenta ser a obra definitiva sobre tudo isso, mas oferece uma série de introduções com foco em workflows científicos.

Sobre Victor

  • Victor Eijkhout é cientista pesquisador no Texas Advanced Computing Center.
  • Esses materiais didáticos foram criados enquanto ele lecionava diversos cursos no campus da University of Texas em Austin.
  • Se você achar que, ao disponibilizar esses livros, ele foi além do dever, uma boa forma de retribuir é pagar um café para ele.

GN⁺ Opinião

  • A série de livros didáticos de HPC de Victor Eijkhout oferece conhecimento abrangente, desde os fundamentos da computação científica até programação paralela e aplicações práticas da programação científica.
  • Esta série pode se tornar um material essencial para engenheiros de software iniciantes entrarem no mundo da computação de alto desempenho (HPC).
  • Em um momento em que as tecnologias de computação se tornam cada vez mais importantes nas áreas científica e de engenharia, esses materiais podem ser extremamente úteis e interessantes para profissionais da área.

1 comentários

 
GN⁺ 2023-12-31
Comentários do Hacker News
  • Histórias sob a perspectiva de hardware e data center

    • Um usuário que trabalhava com software/serviços na AWS disse que, ao ouvir as histórias da equipe de data center, percebeu que o aumento do poder computacional nos data centers é, na prática, um problema de termodinâmica mais do que de computação.
    • Os nós ficaram extremamente densos, então fornecer energia e dissipar calor se tornou um problema muito difícil, e mesmo quando se encontra uma ineficiência, isso não pode ser resolvido com uma atualização de software.
    • Ele comentou que isso era de cerca de 10 anos atrás e que é surpreendente que a Amazon, que começou como uma livraria online, esteja na linha de frente da resolução de problemas de termodinâmica.
  • A distância entre computação de alto desempenho (HPC) e o hardware

    • Foi apontado como algo interessante o quanto o HPC está abstraído do hardware.
    • Os livros se concentram em programação SPMD, algoritmos, estruturas de dados, paralelismo de tarefas, sincronização etc., mas quase não tratam de detalhes de arquitetura de computadores, como sistemas de memória de supercomputadores, interconexões de alta largura de banda (CXL) e arquitetura de GPU.
    • Foi levantada a dúvida se as abstrações e ferramentas já são boas o bastante para que não seja necessário se preocupar com esses detalhes, ou se os profissionais de HPC ainda precisam fazer muitos ajustes de "caixa-preta" para extrair desempenho.
  • Elogios à coleção de materiais do Victor

    • Um usuário disse estar impressionado com a coletânea criada por Victor e mencionou que, embora não o conheça pessoalmente, fez doutorado na UT Austin nos anos 1990 usando os recursos do TACC.
    • Na época, os programadores precisavam paralelizar o próprio código e era necessário entender o hardware. Isso acontecia porque a área ainda estava em estágio inicial, e os problemas eram resolvidos lendo materiais como o Cray Ring Binder e textos de Gropp.
  • Interesse no aspecto de gerenciamento de hardware em HPC

    • Um usuário demonstrou interesse em como, em HPC, detectar e diagnosticar problemas, tomar medidas como reinicialização/reinstalação/reparo e otimizar isso para oferecer o melhor nível de serviço possível.
    • Ele mencionou que foi difícil encontrar informações sobre como diferentes topologias afetam esse tipo de problema, outros tipos de restrição e situações em que é preciso otimizar simultaneamente vários objetivos, como disponibilidade dos nós versus throughput total.
  • Pedido de opinião sobre formas de ensinar C++

    • Um programador experiente em Python perguntou o que as pessoas acham sobre métodos de ensino de C++, querendo saber se há alguma desvantagem específica.
    • Esse usuário disse que quer melhorar suas habilidades em C++ e comentou que os três livros parecem estar em um nível adequado para ele.
  • Admiração pela oferta gratuita do material didático pelo autor

    • Um usuário se disse impressionado com o fato de o autor ter criado um conjunto abrangente de livros, incluindo C++ e ferramentas Unix, e compartilhado tudo gratuitamente.
    • Ele comentou que o conteúdo é útil para todo programador, mesmo para quem não é especializado em computação de alto desempenho.
  • Recordação sobre uma disciplina de computação científica

    • Um usuário que cursou uma disciplina de computação científica em 2013 relembrou que, como a área é ampla, muitos tópicos foram tratados apenas de forma breve.
    • Ele comentou que teria sido útil haver uma disciplina semestral especializada em computação paralela e avaliou que esses livros teriam sido muito valiosos como parte de um curso desse tipo.
  • Experiência com a proposta para ser TA em um curso de pós-graduação de HPC

    • Um usuário mencionou que, há 10 anos, recebeu uma proposta para atuar como TA em um curso de pós-graduação de HPC, mas recusou.
    • Disse que, se esse livro existisse na época, teria aceitado a oportunidade, e elogiou a realização do autor.
  • Elogios à UT Austin

    • Foi mencionado que a UT Austin é uma instituição excelente em HPC e métodos computacionais.
  • Bom conteúdo para programadores

    • Foi comentado que o conteúdo do livro é útil para todos os programadores, com destaque especial para a abordagem contrastante de ensinar C++17 e Fortran2008 no terceiro volume.