Setting up the project, establishing the problem to be solved and what language to use for the project.
We have used C++ language for the project, because of the thread standard library, however on mpi, we used MPI-C, instead of the MPI-C++, because we have already worked with MPI-C in the past.
## `Week 8`
Mihai + Sebastian:
Implemented the serial version of the project in order to be able to compare the parallel results against the serial one.
And implemented a simple generator to generate matrices in order to test against the future versions.
## `Week 10`
Sebastian:
Implemented the OpenMPI + MPI-C version of the project.
Mihai:
Started implementing the Pthreads version of the project.
## `Week 11`
Mihai:
Finished implementing the Pthreads version of the project.
Sebastian:
Finished implementing the MPI-C version of the project, by perfecting it and completing the documentation for it.
## `Week 12`
Mihai + Sebastian:
Started to measure the performance for the serial, pthreads and openmp versions of the project. We measured the performance against 20 cores on the cluster, and for each step we documented the process and the results.
## `Week 13`
Mihai + Sebastian:
Measured the performance for the MPI-C version of the project. We measured the performance against 15 cores on the cluster, and documented the results, also made some graphs to plot the overall results for, and a comparison between the versions.
## `Week 14`
Mihai + Sebastian:
Run the OpenMP + Pthreads + Serial version on Apptainer in order to plot the kachegrind results for the project, for this one we used only 10 cores for each one.
## `Week 15`
Mihai + Sebastian:
Finished the whole documentation and the final presentation taking in consideration the analysis of the results and the overall performance of the project.