3 puntos por GN⁺ 2023-12-31 | 1 comentarios | Compartir por WhatsApp

Fundamentos de la computación científica

  • Un libro que cubre conocimientos generales de base sobre computación científica, incluyendo arquitectura de computadoras, arquitectura de computadoras paralelas, aritmética computacional, álgebra lineal y ODE/PDEs.
  • También incluye cómo se integra todo en cálculos de gran escala.

Ciencia e ingeniería para la programación paralela

  • Gran parte de la computación científica incluye programación paralela de alguna forma.
  • Es una de las mejores introducciones a las versiones modernas de MPI y OpenMP, e incluye también secciones breves sobre PETSc, Kokkos, Sycl y Co-array Fortran.
  • Destaca por su cobertura de MPI y OpenMP en C, Fortran, C++ y, en el caso de MPI, Python.

Introducción a la programación científica

  • La programación científica y de ingeniería se realiza principalmente en C/C++ y Fortran.
  • Un libro que enseña C++17 moderno (hoy en día preferido sobre C) y Fortran 2008.
  • Puede leerse como una introducción desde cero a la programación científica o como "C++ para programadores de C".
  • Incluye diversos proyectos largos de programación.

Carpintería de HPC

  • El ecosistema de la computación científica incluye mucho más que lenguajes de programación y sistemas de programación paralela.
  • Se necesita entender compiladores, sistemas de build, gestión de código fuente y más; este libro no busca ser una obra total sobre todo eso, sino ofrecer una serie de introducciones con sesgo hacia los flujos de trabajo científicos.

Sobre Victor

  • Victor Eijkhout es científico investigador en el Texas Advanced Computing Center.
  • Estos materiales se crearon mientras impartía varios cursos en la Universidad de Texas en Austin.
  • Si crees que publicar estos libros fue un esfuerzo que fue más allá de su deber, invitarle un café también es una buena forma de agradecerlo.

Opinión de GN⁺

  • La serie de materiales de HPC de Victor Eijkhout ofrece conocimientos integrales, desde los fundamentos de la computación científica hasta la programación paralela y la aplicación práctica de la programación científica.
  • Esta serie puede ser un recurso esencial para que ingenieros de software de nivel inicial entren al mundo de la computación de alto rendimiento (HPC).
  • En un momento en que las tecnologías de cómputo son cada vez más importantes en los campos científicos y de ingeniería, estos materiales pueden resultar muy útiles e interesantes para los profesionales del área.

1 comentarios

 
GN⁺ 2023-12-31
Opiniones de Hacker News
  • Historia desde la perspectiva del hardware y los centros de datos

    • Un usuario que trabajaba en software/servicios en AWS comentó que, tras escuchar a empleados del centro de datos, se dio cuenta de que aumentar la potencia de cómputo en un centro de datos era en realidad más un problema de termodinámica que un problema de computación.
    • Los nodos se volvieron tan densos que suministrar energía y disipar calor pasó a ser un problema muy difícil, y aunque se detectara una ineficiencia, no podía resolverse con una actualización de software.
    • Señaló que esto era de hace unos 10 años, y que le sorprendía que Amazon, que comenzó como una librería en línea, ahora estuviera a la vanguardia resolviendo problemas de termodinámica.
  • Distancia entre la computación de alto rendimiento (HPC) y el hardware

    • Señala como algo interesante cuánto se abstrae HPC del hardware.
    • Los libros se enfocan en programación SPMD, algoritmos, estructuras de datos, paralelismo de tareas, sincronización, etc., pero casi no tratan detalles de arquitectura de computadoras como sistemas de memoria de supercomputadoras, interconexiones de alto ancho de banda (CXL) o arquitecturas de GPU.
    • Expresa curiosidad sobre si la abstracción y las herramientas ya son lo suficientemente buenas como para no preocuparse por esos detalles, o si los practicantes de HPC aún tienen que hacer mucho ajuste de "caja negra" para extraer rendimiento.
  • Elogios para la colección de materiales de Víctor

    • Un usuario expresó admiración por la colección de materiales creada por Víctor y mencionó que, aunque no lo conoce personalmente, hizo su doctorado en UT Austin en los años 90 usando recursos de TACC.
    • En ese entonces, los programadores tenían que paralelizar su propio código y necesitaban entender el hardware. Como el campo aún estaba en una etapa temprana, los problemas se resolvían leyendo materiales como el Cray Ring Binder y textos de Gropp, entre otros.
  • Interés en el aspecto de gestión de hardware en HPC

    • Un usuario expresó interés en cómo, en HPC, se detectan y diagnostican problemas, se toman medidas como reiniciar/reinstalar/reparar, y se optimiza todo eso para ofrecer el mejor nivel de servicio posible.
    • Comentó que le resultó difícil encontrar información sobre cómo influyen distintas topologías en este tipo de problemas, otros condicionantes y situaciones donde hay que optimizar varios objetivos al mismo tiempo, como la disponibilidad de nodos frente al rendimiento total.
  • Solicitud de opiniones sobre cómo aprender C++

    • Un programador con experiencia en Python preguntó qué opinaba la gente sobre la forma de aprender C++, y si había alguna desventaja concreta.
    • Mencionó que quiere mejorar sus habilidades en C++ y que los tres libros le parecían adecuados para su nivel.
  • Admiración por la oferta gratuita de materiales del autor

    • Un usuario expresó admiración porque el autor haya creado y compartido gratuitamente un conjunto integral de libros que incluye C++ y herramientas de Unix.
    • Comentó que el contenido sería útil para todos los programadores, no solo para quienes se especializan en computación de alto rendimiento.
  • Recuerdo de una clase de computación científica

    • Un usuario que tomó una clase de computación científica en 2013 recordó que, como el campo era tan amplio, muchos temas se trataron solo de forma breve.
    • Señaló que habría sido útil contar con un curso semestral especializado en computación paralela, y evaluó que libros como estos habrían sido muy valiosos como parte de ese tipo de curso.
  • Experiencia con una propuesta para ser TA en un posgrado de HPC

    • Un usuario mencionó que hace 10 años le propusieron ser TA en un curso de posgrado de HPC, pero lo rechazó.
    • Dijo que, de haber existido este libro en ese momento, habría aprovechado la oportunidad, y elogió el logro del autor.
  • Elogios para UT Austin

    • Mencionó que UT Austin es una institución sobresaliente en HPC y en métodos computacionales.
  • Buen contenido para programadores

    • Comentó que el contenido del libro es útil para todos los programadores, y mencionó en particular el enfoque contrastante del tercer volumen para enseñar C++17 y Fortran2008.