Compare the runtimes of parallel and sequential sorting algorithms.
This project compares the runtimes of parallel and sequential versions of sorting algorithms. The algorithms consists of bubble sort, quick sort, and count sort. Each of the parallel algorithms utilize openMP.
Angarag Gansukh - [email protected]
Cristopher Briseno - [email protected]
Cody Cole - [email protected]
git clone https://github.com/angyb00/Parallel-Sorting.git
Use preferred method for installation
pip3 install matplotlib
This project utilizes 16 threads for the completion of the parallel algorithms. In this case, it will be necessary to login to the schools remote server.
A sample output of running times has been provided within the projects root folder ("algo_times.csv"). NOTE: To see the visualization of the times, without gathering a new list of times,
run: python3 visualizer.py
in the projects root folder.
ssh -l <username> ecs.fullerton.edu
Navigate to parallel folder: cd parallel
Compile: g++ -c par_algos.cpp
Navigate to sequential folder: cd ../sequential
Compile: g++ -c seq_algos.cpp
Navigate to root folder: cd ..
Compile: g++ -c compare_algos.cpp
Link files: g++ sequential/seq_algos.o parallel/par_algos.o compare_algos.o
Run: ./a.out
A csv file, ("algo_times.csv"), of the running times has been generated within the project folder. This cannot be run on the remote server. This can be copied over to your local device by any means but below will be a supplemental option.
The only file necessary to make the visualization is "visualizer.py". So make sure this file or the project has been downloaded onto the local device.
Print and copy the contents of CSV file found on the remote desktop in the root folder ("PARALLEL-SORTING"): cat algo_times.csv
Locate the pre-existing CSV file containing samples outputs within the root folder ("PARALLEL-SORTING")
Paste the contents found on the remote desktop in the local CSV file ("algo_times.csv"): : nano algo_times.csv
Run: python3 visualizer.py