| University | National University of Singapore (NUS) |
| Subject | TIC4005: Parallel and Distributed Software Engineering |
TIC4005 project 2 – MPI, Measurement
Project 2: This project is not a software-development one. Instead, you will measure, reflect, and write up the behavior of various programs as the problem size scales. I expect this write-up to take no more than 10-20 pages. You can download the project programs from
1 Part 1: the first program – Matrix Multiply
The first program is a simple matrix multiply program, which you will be timing and observing. Consider the following points…
1. The program adopts the master/worker paradigm.
2. Using -np 2 will start up two tasks, one being the master task, and one the worker. So -np 8 will mean that there are 7 workers, and a master doing NOTHING as usual.
3. You are sharing the cluster with other students. If you time some runs of a program, should you use the shortest time? The average time? The longest time?
Take some time to look at the source code of the program (mm.c), and observe how it is supposed to work.
Note that you can edit the program to change the size of the arrays/matrices that it works on. The initial program is for 512×512 arrays.
Step1: Compile and run the program with different numbers of tasks on a single processor, recording the times of the runs.
Step2: Compile and run the program with different numbers of tasks on multiple processors, recording the times of the runs.
Step3: Compile and run the program with different sizes of arrays (512 × 512…4096 × 4096…), and different numbers of tasks on multiple processors, recording the times of the runs.
2 Part 2: the second program – heat 3d
The second program is a program which attempts to model heat (energy flow) in a 3-dimensional space.
This code was originally from https://github.com/fabien-dournac/parallel-heat3d-c, but I have made some small modifications. Note the following…
1. The directory includes a Makefile, and the command make will compile the program, with score profiling.
2. The directory includes a run script ./run_performance_heat3d which will automatically run and record various tests on different sized 3D worlds. Cumulative results are put in the file performance.txt.
You may want to modify this and the machinefile to explore more deeply.
3. The directory includes a MATLAB script ./plot_performance_heat3d.m which will automatically graph (some) results from performance.txt. You will have to do this on your own machine using MATLAB. You can of course also use gnuplot, or excel, or grapher, or…
Take some time to look at the source code of the program, and observe how it is supposed to work.
Step1: Compile and run the program (initially) with the unchanged script.
Step2: (Later) modify the script to record as well any other readings you wish to make.
From these recordings, you should be able to graph what is happening for your sets of runs.
Buy Custom Answer of This Assessment & Raise Your Grades
Avail of the engineering assignment help on TIC4005: Parallel and Distributed Software Engineering from Singapore Assignment Help. Our experts are highly talented to prepare all types of solutions related to civil engineering assignments, industrial engineering assignments, environmental engineering assignments, etc at a low-cost price.
Looking for Plagiarism free Answers for your college/ university Assignments.
- GSBS6514 Leadership in Contemporary Organisations Assessment Brief 2026 | UON
- ICT340 Application Analysis and Design End-of-Course Assessment 2026
- MGT304 Business Consultancy Project Assessment Brief 2026 | MDIS
- FMT306 Strategic Asset, Property and Facilities Management End-of-Course Assessment January Semester 2026
- PSY373 Psychology of Nonverbal Behaviours End-of-Course Assessment January Semester 2026 | SUSS
- MGE302 Applied Economics Individual Assignment 2026 | SIM
- POL351 Comparative Politics in Southeast Asia End-of-Course Assessment 2026 | SUSS
- SOC313 Sociology of Education End-of-Course Assessment 2026 | SUSS
- BPM213 Procurement Management Tutor-Marked Assignment 2, 2026 | SUSS
- MNGT3013 Innovation Management Assessment 1, 2026 | University of Newcastle
