This repositary contains programming assignments completed as a part of the course EE 451 - Parallel and Distributed computing under Prof. Viktor Prasanna in Fall 2019, USC.
Implementation of different programming models - PRAM, Shared memory, Message Passing for different algorithms
- PHW1 - Basic Naive Matrix, BlocK Matrix and KMeans Clustering Implementation
Brief Overview: This homework contains non-parallelized implementations of Naive Matrix Multiplication, Block Matrix Multiplication and K-Means clustering of grayscale intensities in an Image.
Problem Statement:
Programming Homework #1
Report:
Report on Programming Homework #1
-
Q1 a,b - Comparision of Matrix Multiplications type (Naive vs Block) in terms of time taken (s) and performance (MFLOPs)
-
Q2 - K Means Clustering of grayscale Intensities in an Image
- PHW2 - Parallelized Naive Matrix and Parallelized K-Means Clustering Implementation [PThread Shared Programming Models]
Brief Overview: This homework contains parallelized implementation of Naive Matrix Multiplication and parallelized K-Means Clustering implemented in PHW1. Model used: Shared programming model. Library: Posix Threads.
Problem Statement:
Programming Homework #2
Report:
Report on Programming Homework #2
Details will be added.
-
PHW3 - [OpenMP]
-
PHW4 - [Message Passing Interface (MPI)]
All Homeworks are written in C++11, compiler used: g++ (latest version)
Boost C++ library version 1.70.0
├── Homework_PDFs
│ ├── EE 451 F 2019 PHW 1.pdf
│ └── EE_451_F_2019_HW_2.pdf
├── Input
│ └── input.raw
├── Plots
│ ├── Figure_1.png
│ ├── Figure_2.png
│ └── plotGraph.py
├── Reports
│ ├── report.pdf
│ └── report.docx
├── src
│ ├── HW_1
│ └── HW_2
├── License
├── Makefile
└── README.md
Git clone the repositary and run the makefile.
git clone https://github.com/SiddhantNadkarni/Parallel-and-Distributed-Computing.git
cd src/PHW_<homework number>
make
For PHW1:
./p1a
./p1b <block_Size>
./p2 <path to input image>
For PHW2:
- Siddhant Nadkarni
This project is licensed under the MIT License - see the LICENSE file for details