Skip to content

Latest commit

 

History

History
34 lines (25 loc) · 1.57 KB

File metadata and controls

34 lines (25 loc) · 1.57 KB

Parallel Programming - NTUA

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.

Team Members

Exercises Overview

Exercise 1: Parallel K-Means Clustering

  • Introduction to parallelizing the K-Means algorithm using OpenMP.
  • Focus on thread-level parallelism for improving performance.

Exercise 2: Advanced K-Means & Floyd-Warshall

  • Extends K-Means parallelization with more optimizations.
  • Implements the Floyd-Warshall algorithm for all-pairs shortest paths in a graph.

Exercise 3: Locking Strategies

  • Explores different locking mechanisms (e.g., spinlocks, mutexes) for Exercise 2.
  • Aims to improve synchronization efficiency in parallel execution.

Exercise 4: CUDA Implementations of K-Means

  • Implements four different versions of K-Means using CUDA.
  • Explores GPU parallelism for optimizing clustering performance.

Exercise 5: MPI Heat Transfer Simulation

  • Simulates heat diffusion using MPI.
  • Implements three different numerical methods:
    • Gauss-Seidel
    • Red-Black Gauss-Seidel
    • Jacobi Iteration