Giter VIP home page Giter VIP logo

cm30225-parallel-computing-mpi's Introduction

CM30225 Parallel Computing Coursework 2

http://people.bath.ac.uk/masrjb/CourseNotes/cm30225.html

Grade

90/100

Report

Full LaTeX report is available at the link below.

https://github.com/domhauton/CM30225-Parallel-Computing-Coursework-2/blob/master/report/Report.pdf

Running the Coursework

Scripts to run the coursework on Balena are available in ./bin in the submitted coursework.

  • ./bin/cw-prepare.sh puts the compiled program in your ~. The source directory should be changed to match a clean version of the coursework.
  • ./bin/cw-run.sh will produce python jobs in your ~ and submit them using sbatch to balena. Outputs will appear in ~/out
  • Running the python3 ./bin/slurm_job_gen.py will produce jobs for Balena in batches of 15 mins.
  • ./bin/cw-status.sh Will display job status.
  • ./bin/cw-collect-results.sh will process the output of Balena and can be pasted directly into Google Sheets for analysis.

Feedback

  • mat_mpi_parity() a nice quick test for bit-for-bit inequality, but, of course, two matrices can have the same parity without being equal; and two matrices can both be relaxed to within a given precision without being equal
  • Good to use Isend & Irecv, but you need to comment carefully on how you avoid data races on the buffers
  • mat_scatter() Good to see MPI_Scatterv, but better it to avoid having all the matrix collected on one proc, as this will need a huge amount of memory for big matrices
  • dispatcher_task_t: from reading the code alone, it is hard to discern your approach. More (high level) comments in the code, please!
  • Good use of MPI_Iallreduce()
  • SWAR: nice, but not needed for this assignment
  • Good code, but hugely over-engineered and more complicated than necessary!
  • Correctness Testing: OK. It would be worthwhile including in the writeup a list of sizes of matrices, numbers of procs and nodes that you tested on
  • Figure 1. Good speedups
  • Karp-Flatt: good. If you excluded the scatter/gather of the matrix, what would things look like?
  • SWAR: nice, but not part of this assignment (MPI)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.