This repo includes three mini-projects that cover High-Performance Computing on multicore shared memory computers and on distributed memory computing clusters. In these projects, we have used Message Passing Interface(MPI) parallel file systems and C language.

PROJECT 1,2 - Performance Optimization via Register Reuse

In this project, we have implemented a version of matrix multiplication to take into account register reuse to improve performance.

PROJECT 3 - Parallel Sieve of Eratosthenes for Finding All Prime Numbers

The goal of this project was to use the sieve of Eratosthenes for determining the prime numbers in a very large interval and study how different modifications affect the performance. We will use parallel programming to divide the work among different cores and nodes.