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.
- HRM331: Talent Management – Strategic Shift from the War for Talent to the Wealth of Talent
- Marginalised Populations – The Structural and Cultural Exclusion of People Experiencing Homelessness in Singapore
- CVEN3501 Assignment 2: Groundwater Modelling of Drawdown from a Pumping Bore
- CSCI312 Assignment 2: Conceptual Modelling and Implementation of a Data Warehouse and Hive Queries
- CH2123 Assignnment : Fugacity, VLE Modeling & Henry’s Law Applications
- BAFI1045 Assignment -Constructing and Evaluating Passive and Active Portfolios Based on the Straits Times Index (STI)
- PSB501EN Assignment 1: Engineering Systems Integration: A Multi-Technique Approach to Mechanical Analysis
- FIN2210E/FIN2212E Group Assignment: Financial Risk Management Analysis of Bursa Malaysia Companies
- FLM101 Assignment: A Cinematic Dissection: Stylistic Elements and Their Thematic Significance
- Assignment: Transforming Talent in the AI Era: From War to Wealth through Ecosystem Innovation