This program solves a partial differential equation on (N+2) × (N+2) grid (2D), in a parallel fashion; that is, it performs Gauss-Seidel sweeps over the grid until convergence.
Two solutions are explored in this program, namely:
- Red-Black Cells Approach
- Anti-Diagonals Approach
In each case, the following parallelization techniques were tried out and the results were compared:
- Sequential Implementation
- Parallel Implementation with OpenMP
- using #pragma omp critical
- using per-thread diff variable (no padding)
- using per-thread diff variable (with padding)
- Parallel Implementation with Pthreads (POSIX Threads)
- using mutex lock
- using per-thread diff variable (no padding)
- using per-thread diff variable (with padding)
Read the report.pdf document for further details.
kamiljaved.pythonanywhere.com · GitHub @kamiljaved