Archives


- Beowulf
- Beowulf Announce
- Scyld-users
- Beowulf on Debian

[Beowulf] Book recomendations for cluster programing

Many of your questions may have already been answered in earlier discussions or in the FAQ. The search results page will indicate current discussions as well as past list serves, articles, and papers.

Search

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