You need to implement row compression, as described in the Project 1 specifications.
Your code needs to be able to generate and multiply row compressed matrices, sequentially, and using OpenMP, MPI, and OpenMP MPI.
It will be much easier to have on...
Hello,
I am wondering if we can use multiple files for testing in the second project cos our project 1 has already completed the sequential and OpenMP parts, and using MPI will change the structure of the code, therefore using multiple files to find...
Hello,
I'm not sure what the row compression task in Project 2 is asking us to do. Does this mean we have to generate an uncompressed matrix beforehand and then compress it? What does it mean to support both MPI and OpenMP?
Also should we generate t...
It shouldn't be too hard to guess a reasonable approximation for the largest matrix that you can multiply in 10 minutes. You don't need to be super accurate, as long as you're in the right ballpark. I would just submit a handful of jobs with sensible...
These are both great observations.
Please do not write the results to files, as we don't want to use Setonix's storage for these large random matrices. Other than this, I'm happy for you to address the issues in whatever way you want -- as long as you...
Hi,
I'm trying to guess a nice number for the largest matrix sizes, so that the jobs run somewhere between 9-10 minutes. Other than guessing and checking, are there any other less tedious ways to figure this out? Setonix is quite busy, and my jobs are...
Additionally, what should we do if N is so large that we cannot gather the results into a single process? When N is large, even if the original matrix has a low non-zero rate, the resulting matrix is likely to have a non-zero rate close to 1. So for ...
Given that the project involves working with large values of N, there's a risk of integer overflow if the program doesn't handle numerical limits carefully. I would suggest that fellow students take care to avoid this issue, and the marker should b...
Sure, it is up to you to design your program and justify it, so in that sense it is allowed.
But be careful -- while you do eliminate the communication overhead, all your processes are just redundantly generating the same matrix. Even though your pro...
Thank you for your response; I appreciate it. I didn t expect to see staff available on such a weekend.
I believe I have a third option fully generating the operands for all processes while ensuring that the results are consistent across them. This...
Deciding how to handle this is part of the point of the project. You need to weigh the pros and cons of each approach and justify which you have chosen in your report.
Broadly, you have two options
- You generate the matrix only at the root process. T...
I m wondering if we need to close our accounts ourselves since we opened them, or if there s an arrangement between the university and Pawsey to terminate our accounts.
Generating the matrices counts towards this time, so you should parallelise the matrix generation. I cannot think of any other time consuming steps. You shouldn't be writing the large matrices to files during your experiments.
You are correct, you wi...
Sequential I O Only one process performs I O. Think regular fwrite from stdio.h .
Independent I O Parallel I O, where each process performs its own I O, without coordination with the other processes. Think MPI File write at .
Collective I O Par...