This repository contains coursework from the Parallel Programming course at the National Technical University of Athens (NTUA). The assignments focus on various parallel computing techniques, covering OpenMP, CUDA, and MPI implementations.
- Areti Mei - GitHub Profile
- Kostas Papadopoulos - GitHub Profile
- Elisavet Papadopoulou - GitHub Profile
- Introduction to parallelizing the K-Means algorithm using OpenMP.
- Focus on thread-level parallelism for improving performance.
- Extends K-Means parallelization with more optimizations.
- Implements the Floyd-Warshall algorithm for all-pairs shortest paths in a graph.
- Explores different locking mechanisms (e.g., spinlocks, mutexes) for Exercise 2.
- Aims to improve synchronization efficiency in parallel execution.
- Implements four different versions of K-Means using CUDA.
- Explores GPU parallelism for optimizing clustering performance.
- Simulates heat diffusion using MPI.
- Implements three different numerical methods:
- Gauss-Seidel
- Red-Black Gauss-Seidel
- Jacobi Iteration