[Beowulf] Book recomendations for cluster programing

Gus Correa gus at ldeo.columbia.edu
Thu Dec 18 11:32:15 PST 2008


Prentice Bisbal wrote:
> Micha Feigin wrote:
>   
>> I'm trying to learn cluster/parallel programing properly. I've got some
>> information on MPI, although I'm not sure if it's the best books. I was
>> wondering if you have some book recommendations regarding the more specialized
>> things, especially the cpu vs gpu paralelization issue (or as far as I
>> understood, data intensive vs memory intensive programming and how to
>> convert programs from one to the other) proper program/cluster topology
>> considerations and such.
>>     
>
> As similar question was asked a couple of weeks ago:
>
> http://www.beowulf.org/archive/2008-December/024078.html
> http://www.beowulf.org/archive/2008-December/024079.html
>
> GPU parallelization is relatively new, so I doubt there are any complete
>   books on the topic. There have been plenty of talks on it and research
> done in the area, so google is your best bet for that. NVidia does have
> plenty of documentation related to CUDA on their website:
>
> http://www.nvidia.com/object/cuda_home.html
>
>   
Hello Mischa and list

Prentice already referred to
Peter Pacheco's book "Parallel Programming with MPI":

http://www.cs.usfca.edu/mpi/

and RGB to  Ian Foster's more general
book "Designing and Building Parallel Programs":
http://www-unix.mcs.anl.gov/dbpp/

GPU programming lacks a common standard API,
the literature is small and vendor-dependent,
and Prentice already pointed you to the
current leader, NVidia and CUDA:

http://www.nvidia.com/object/cuda_home.html

Another pair of good MPI books (with some typos),
are:

William Gropp et al., Using MPI:
http://www-unix.mcs.anl.gov/mpi/usingmpi/

and

William Gropp et al., Using MPI-2:
http://www-unix.mcs.anl.gov/mpi/usingmpi2/index.html

You can find the detailed syntax and semantics of MPI commands on"
 
Marc Snir et al.
MPI: The Complete Reference (Vol. 1), 2nd Edition:
*Volume 1 - The MPI Core

*http://mitpress.mit.edu/catalog/item/default.asp?ttype=2&tid=5045

and

William Gropp et al.
MPI: The Complete Reference (Vol. 2)
*Volume 2 - The MPI-2 Extensions
*
http://mitpress.mit.edu/catalog/item/default.asp?ttype=2&tid=4579

Lawrence Livermore National Lab has good tutorials,
and other references (MPI and OpenMP):

https://computing.llnl.gov/mpi/documentation.html
https://computing.llnl.gov/tutorials/mpi/

For OpenMP a good source
is Rohit Chandra et al. "Parallel Programming in OpenMP":
http://www.amazon.com/Parallel-Programming-OpenMP-Rohit-Chandra/dp/1558606718

There are also two slide tutorials on OpenMP from Ohio Supercomputer Center:

http://www.osc.edu/supercomputing/training/openmp/
http://www.osc.edu/supercomputing/training/openmp/openmp_0704.pdf
http://www.osc.edu/supercomputing/training/openmp/openmp_0311.pdf

I collected some parallel programming resources for our users here:

http://fats-raid.ldeo.columbia.edu/pages/parallel_programming.html

I hope this helps,
Gus Correa

---------------------------------------------------------------------
Gustavo Correa, PhD - Email: gus at ldeo.columbia.edu
Lamont-Doherty Earth Observatory - Columbia University
P.O. Box 1000 [61 Route 9W] - Palisades, NY, 10964-8000 - USA
---------------------------------------------------------------------




More information about the Beowulf mailing list