¿Cuál es el mejor libro sobre computación paralela?

Intenté comenzar a resolver eso a mediados de la década de 1980, y no existía tal libro. Aún no existe. Cuando me pidieron que escribiera una encuesta, estaba bastante claro para mí que la mayoría de la gente no leía encuestas (podía hacer una encuesta de encuestas). Entonces, lo que hice fue mantener una base de datos con palabras clave para que un estudiante graduado de primer o segundo año leyera para una clase de introducción, y mantuve el “Top-10”. El problema con los cambios en el software y la literatura era seguir encuestando a las personas. Más importante aún, recopilé anotaciones de personas como Hennessy y Patterson, Dennis Ritchie y otros amigos.

Entonces, ¿hay que definir qué constituye la computación paralela? ¿Es solo hardware paralelo? Bueno, si piensas eso, entonces todos los demás deberían alejarse de ti porque serías un buen político y gerente, porque los problemas son en gran medida software. Puedes decir la perspectiva de una persona por el hardware al software del que hablan, presentar en diapositivas, dedicar en las páginas de un libro.

Si un libro está impreso, puede estar seguro de que está obsoleto. Pocos obtienen una segunda edición (la excepción son los libros de uso más general como H&P, que es un libro de arquitectura y carece totalmente de software). Entonces, lo que voy a hacer es citar algunos libros, me gusta, si recuerdo todos, la mayoría de los cuales involucran hardware obsoleto. Así que planea pensar en recolectar una buena biblioteca de libros obsoletos (medio chiste).

Entonces, porque él está aquí, Víctor, escribió un buen libro. OK, no es completamente obsoleto, compra el libro de Victor.

Se cita a Mike Quinn, y escribió un pequeño libro. Bien, él me dio a mí y a mi diario una copia de revisión.

No debe olvidar el libro de Peter Pacheco.

En el área del software paralelo de aplicaciones, uno no puede ignorar los libros MPI publicados por MIT Press.

Como un viejo divertido, tiene bromas, es el libro de Allen Gottlieb. Cuenta con el ensayo de los verdaderos programadores de Ed Post No utilices Pascal y una broma sobre la escalada.

Si desea estudios arquitectónicos antiguos, es difícil de superar no solo H&P sino también la joya de Sieworek, Bell y Newell (última publicación en 1982; soy dueño de una copia).

Un libro increíblemente franco es HYDRA / C.mmp: An Experimental Computer de Bill Wulf. Bill acaba de pasar una temporada como presidente de la Academia Nacional de Ingeniería. Y un buen tipo. Difícil de encontrar. Aprenda sobre vendedores de libros raros. Una increíble colección de estudiantes salió del programa multiprocesador CMU (en el sentido educativo y de investigación) que parece haber agotado a la mayoría de las personas involucradas.

Acabo de llegar de la oficina de John Osterhout, y él tenía una tesis de doctorado legible impresa en tapa dura por UMI Press (los tipos que recopilan tesis doctorales para todos los campos). Una de varias tesis, hizo un sistema operativo multiprocesador similar a Unix llamado Medusa.

El ACM y el IEEE realizaron encuestas agradables, cortas, pero anticuadas y más difíciles de encontrar. Y SIAM no les habló sobre sus encuestas. Debo señalar que tuve que corregir sus errores tipográficos, y probablemente en el camino, probablemente introduje nuevos errores tipográficos. Al igual que el software. ; ^)

Muchos otros libros tienen buenas intenciones pero son defectuosos. Es genial encontrar un libro que tenga erratas (como el libro de Knuth, algo que se puede decir por pagar centavos por errores).

Tengo otros Top 10. Las cadenas de palabras clave en mi base de datos en “grequired” (solo 10 de estos) y “grecommended”. Paul en Europa lo mantiene en un servidor de búsqueda. En general es mucha lectura.

Depende de a qué se dirija, si planea comenzar a programar GPU, los libros de Chang y la guía para desarrolladores de NVIDIA son LA fuente.

Si está buscando MPI y OpenMP, la página llnl puede ser un buen comienzo (tiene referencias al final) Introducción a la computación paralela

Hay muchos libros y hay muchos tipos de computación paralela. El libro de Quinn “Programación en paralelo en C con MPI y OpenMP” es un buen tutorial, con muchos ejemplos. Si quieres hacer MPI o OpenMP, eso es. Dejaré que otras personas recomienden un libro de CUDA o pThreads / Cilk, etc.

También puede descargar mi libro sobre computación de alto rendimiento, que tiene mucho que ver con el paralelismo: Introducción a la computación de alto rendimiento

Y comencé un libro sobre MPI / OpenMP, que está disponible en el mismo enlace.

Me encantó la “Programación paralela estructurada” de McCool, Robison y Reinders. El libro se enfoca en patrones de computación paralela y es una lectura excelente si usted es un pensador visual.

ISBN-13: 978-0124159938

ISBN-10: 012415993

Encontré este pequeño libro Amazon.com: Introducción a la informática de alto rendimiento para científicos e ingenieros relativamente decente y útil para principiantes.

No existe un libro perfecto para la computación paralela:

  • La práctica te acerca a la perfección, pero no hay límites.
  • Cubre hardware, optimización y programación con OpenMP y MPI. Eso es lo suficientemente bueno para que comiences con la programación paralela y te diviertas.
  • Es un libro pequeño, no está muy detallado sobre muchos puntos mencionados en el texto. Pero cualquiera con experiencia en HPC agradecería la mayoría de esos puntos.
  • También trata de usar una formulación de rendimiento diferente para la métrica, como acelerar, donde muchos otros libros usarían la formulación del tiempo de ejecución. El concepto básico es el mismo.

El libro de Victor Eijkhout Intro to High Performance Scientific Computing parecía un buen cumplido, ya que cubre muchos más temas sobre temas numéricos y aplicaciones. No he leído eso, pero la tabla de contenido parecía prometedora.

Estos dos libros los utilicé para aprender programación en paralelo usando CUDA.

Amazon.com: Programación de procesadores paralelos masivos: un enfoque práctico (Aplicaciones de GPU Computing Series) (9780123814722): David B. Kirk, Wen-mei W. Hwu: Libros

CUDA por ejemplo: una introducción a la programación de GPU de uso general

Prueba esto –

http://usingcsp.com/

Si está comenzando con CUDA, entonces
Programación de procesadores paralelos masivos: un enfoque práctico
(2ª edición) es preferible.