Programs: Parallel Computing
The programs below use either PVM (Parallel Virtual Machine) or MPI (Message Passing Interface) frameworks and demonstrate various techniques that can be used while writing such programs.
- Lab 1: a "hello world" master & slave programs in PVM
- Lab 2: testing speed of point-to-point communication in PVM
- Lab 3: testing speed of group communication in PVM
- master3.c (2.2 KB) - version 1, makes single broadcast calls
- slave3.c (393 B)
- master3my.c (2.3 KB) - version 2, makes multiple point-to-point calls
- slave3my.c (397 B)
- or-lab3.zip (87.7 KB) - all files
- Lab 4: calculating the value of π using Monte Carlo method (PVM)
- pi-1proc.c (739 B) - sequential version
- pi.c (2.5 KB) - parallel version
- Lab 5: sorting numbers using bucket sort (PVM)
- bucketseq.c (1.5 KB) - sequential version
- master_of_buckets.c (5.1 KB) - parallel version
- Lab 6: parallel multiplying of matrices (PVM)
- matrixseq3.c (1.3 KB) - sequential version
- matrix3.c (4.3 KB) - parallel version
- Lab 8: a "hello world" program in MPI
- Lab 9: analysing the structure of the cluster by comparing throughputs between its nodes (MPI)
- or-lab9.zip (59 KB) - all files
- Lab 10: group communication in MPI
- or-lab10.zip (53.6 KB) - all files
- Lab 11: parallel multiplying of matrices (MPI)
- mpimatrix.c (2.6 KB) - send/recv version
- mpimatrix_scatter.c (2.4 KB) - scatter/gather version
- or-lab11.zip (60.4 KB) - all files
- Everything: parallel-all.zip (773 KB)