Parallel and Distributed Programming (MPI Programming)
written by Taro L. Saito
- Lecture Page (2006): http://www.logos.ic.i.u-tokyo.ac.jp/~tau/lecture/parallel_distributed/2006/
- My presentation slides (PDF)
C++ Source Codes
- Subversion repository: http://www.xerial.org/svn/project/sandbox/trunk/pdp
- username: anonymous, pass: (empty)
- To build & run these codes, you require Boost C++ Library and ANTLR Parser Generator.
How To Build
- In Windows, it requies Visual Studio C++ 2003 (or newer version):
- Install MPICH2
- Download Boost C++ Library and build it.
- Here is a good explanation of the build steps probided by Inaba-kun
- Add $(MPICH2_INSTALL_PATH)/include and $(BOOST_INSTALL_PATH)/include/boost_1_3X_X to Options -> Projects -> VC++ Directories -> Include files.
- Add $(MPICH2_INSTALL_PATH)/lib and $(BOOST_INSTALL_PATH)/lib to Options -> Projects -> VC++ Directories -> Library files.
- Perform Build.
pdp > ./configure --with-boost=$(BOOST_INCLUDE_PATH) --with-antlr=$(ANTLR_C++_INCLUDE_PATH) --with-mpich2=$(MPICH2_INCLUDE_PATH) pdp > make
- I'm not well-experienced to write configure script, so there may be some flaws. If you have trobles to compile these files, contact and ask me.
MPICH2 Setup
- The following command invokes MPICH2 daemons in several servers listed on $(HOSTNAME_LIST_FILE), whose lines contain host names accessible from the current machine using rsh or ssh without password authentication:
> mpdboot -np $(NUM_PROCESS) -f $(HOSTNAME_LIST_FILE) ...
- Then, test mpd daemons working correctly:
> mpdtrace istbs000.i.u-tokyo.ac.jp istba002.i.u-tokyo.ac.jp ...
Running Programs
- Replication Program
- mpiexec
- -n specifies number of processes to be spawned
- -l option displays messages of each process prefixed with its process rank
- mpiexec
> mpiexec -n 10 -l Replication -d (the output folder of receiver processes) (file path) ( sending a file to the remote proceses)
- N-Body Simulation Program
> mpiexec -n 20 -l N-body -d -p (NUM_PARTICLES) -s (NUM_STEPS)
MPI References
- MPICH2 C++ API
- mpich2_doxygen.tgz : Doxygen HTML files generated from MPICH2 source codes.
- MPI Tutorial
- http://webct.ncsa.uiuc.edu:8900/SCRIPT/MPI/scripts/serve_home
- Good guidance for beginners (PDF version of this course)
- MPI Official Documents
MPI Implementations
Memorandums
Routing
Attachments
-
mpich2_doxygen.tgz
(425.1 kB) - added by leo
2 years ago.
MPICH2 C++ API
-
MPI.pdf
(0.7 MB) - added by leo
2 years ago.
presentation slides
- p255-cowen.pdf (0.6 MB) - added by leo 2 years ago.
- p20-abraham.pdf (107.9 kB) - added by leo 2 years ago.
-
checkpointing.pdf
(0.5 MB) - added by leo
2 years ago.
A survey of rollback-recovery protocols in message-passing systems


