Physics 21 Reading List #5
Assignments 4 to 7 of Ph21 provide an introduction to parallel processing as performed using a message-passing paradigm. More specifically, we shall be using the well-established MPI (Message Passing Interface) standard, in the LAM implementation.
Parallel Programming with MPI, by P. S. Pacheco, is a good introductory MPI manual, available in the lab. I am giving you an excerpt as a handout. Pacheco's book focuses on using MPI from C (rather than C++). For that, have a look at Using MPI, also available in the lab, and refer to the C++ MPI bindings. The other handout for this week (from Karniadakis and Kirby's Parallel Scientific Computing in C++ and MPI) is about the general picture of parallel computing.
For these assignments, you will be using an 8-processor Beowulf system called Octo, an experimental research cluster built by the PMA division with Intel-donated equipment. To get started using Octo, the first thing you will need to do is send an e-mail to beowulf{at}alice.caltech.edu, following the instructions found on the Octo reference page (the name of your project is "ph21"). All of this page is very relevant to your work, and you should read it carefully. Once your account has been created, you can connect to Octo via ssh ("ssh octo.caltech.edu").
Your programs should always start with the directive #include "mpi.h". If your PATH is set correctly, compiling your programs should be as simple as "mpiCC my_program.cpp -o my_program". You will then execute your program by submitting a script to the OpenPBS queueing system (to get information, start with
Parallel Programming with MPI, by P. S. Pacheco, is a good introductory MPI manual, available in the lab. I am giving you an excerpt as a handout. Pacheco's book focuses on using MPI from C (rather than C++). For that, have a look at Using MPI, also available in the lab, and refer to the C++ MPI bindings. The other handout for this week (from Karniadakis and Kirby's Parallel Scientific Computing in C++ and MPI) is about the general picture of parallel computing.
For these assignments, you will be using an 8-processor Beowulf system called Octo, an experimental research cluster built by the PMA division with Intel-donated equipment. To get started using Octo, the first thing you will need to do is send an e-mail to beowulf{at}alice.caltech.edu, following the instructions found on the Octo reference page (the name of your project is "ph21"). All of this page is very relevant to your work, and you should read it carefully. Once your account has been created, you can connect to Octo via ssh ("ssh octo.caltech.edu").
Your programs should always start with the directive #include "mpi.h". If your PATH is set correctly, compiling your programs should be as simple as "mpiCC my_program.cpp -o my_program". You will then execute your program by submitting a script to the OpenPBS queueing system (to get information, start with
man pbs on Octo). Anyway, learning how to use a queueing system is a good thing in itself! Your programs will not execute instantaneously, but they are enqueued and then executed when the resources become available. This ensures that every computing job gets to use the full power of all the processors, without having to share them with any other job. Again, you will find instructions on the Octo reference page.

0 Comments:
Post a Comment
<< Home