Skip to content

Latest commit

 

History

History
30 lines (18 loc) · 1.62 KB

File metadata and controls

30 lines (18 loc) · 1.62 KB

Parallel Programming

By Abdullah Amir and Musab Kasbati

Overview

Our project explores the parallel implementations of well known algorithms to see how they differ from sequential implementations, both in terms of design, results and efficiency. In particular, we compared the sequential and parallel implementations of breadth-first search, merge sort, 2D closest pair and image convolution.

Instructions

This project's zip file includes a folder containing Jupyter notebooks. These notebooks may not run directly on your local machine and are intended to be uploaded and executed on Google Colab, as support for the multiprocessing library in Jupyter on Windows OS is limited.

Additionally, we have provided some graphical results obtained by time analysis on our local machine. Alternatively, you are welcome to run the Python files provided on your own machine to generate the results yourself.

There is also a python script for visualising the Closest Pair problem. Feel free to run it on your own machine.

Usage

To use the Jupyter notebooks, simply upload them to Google Colab and run them there.

To use the Python files, open them in an IDE like Visual Studio Code and run them from there.

Contributing

If you would like to contribute to this project, please submit a pull request.

References

  1. Parallel BFS Implemenation:
    Blelloch, G.E. and Maggs, B.M. (2010). Parallel Algorithms. School of Computer Science, Carnegie Mellon University. pp. 22-24
  2. Sequential Closest Pair Implementation:
    syphh. (2021, July 24). closest_pair.py [Gist]. GitHub. http://gist.github.com/syphh/b6668694edacf8cc987f89bf1270125c