Howeng98 / Parallel-Programming

This repository includes MPI, OpenMP, Pthread, CUDA code.

Repository from Github https://github.comHoweng98/Parallel-ProgrammingRepository from Github https://github.comHoweng98/Parallel-Programming

Parallel Programming

National Tsing Hua University - CS 542200 Course's Instructor: Jerry Chou.

This repository includes all labs and homeworks covering MPI, OpenMP, Pthread and CUDA.

I provide some template tools for you to calculate IO, CPU and Compute time. Besides, I also provide some tools for you to draw the bar and line graph.

Lab1

  • Lab1 needs you to calculate how many pixels in a circle in order to make you get familar with MPI usage.
  • Scoreboard Rank: 3/54

HW1

  • HW1 needs you to implement odd-even sort with MPI.
  • Scoreboard Rank: 4/49
  • Result

Lab2

  • There are three labs this time including Pthread, OpenMP and hybrid of MPI and OpenMP.
  • These three labs require you to do the same problem as the lab1 to calculate how many pixels in a circle.
  • Scoreboard rank (Pthread): 4/48
  • Scoreboard rank (OpenMP): 3/47
  • Scoreboard rank (OpenMP+MPI): 2/48

HW2

  • HW2 needs you implement mandelbrot set with Pthread and hybrid of MPI and OpenMP.
  • Scoreboard rank (Pthread): 2/47
  • Scoreboard rank (OpenMP+MPI): 2/47
  • Result

Lab3 && Lab4

  • Lab3 needs you to calculate Sobel of the images with CUDA.
  • Lab3 Result
  • Lab4 needs you optimize kernel calculation.
  • Lab4 Solution

HW3

  • HW3 needs you to implement All-Pairs-Shortest-Path with multiple threads, single GPU and multiple GPU
  • HW3 optimization skill
  • Scoreboard rank (multiple threads): 13/41
  • Scoreboard rank (Single GPU): 7/40
  • Scoreboard rank (Multiple GPU): 2/40

About

This repository includes MPI, OpenMP, Pthread, CUDA code.

License:MIT License


Languages

Language:C++ 76.4%Language:Cuda 15.3%Language:Python 5.2%Language:Makefile 2.1%Language:Shell 1.0%Language:C 0.1%