Skip to content

agneknie/Particle-Parallelization-University-Project

Repository files navigation

Particle-Parallelization-University-Project

Assignment for Parallel Computing with Graphical Processing Units (GPUs) module at the University of Sheffield. Achieved Grade: 70% (First Class).

About

The assignment required parallelizing a serial particle generation program implemented in C. The program consists of five stages:

  • init: Allocates host and device memory;
  • stage1: Calculating particle contribution to pixels of the image;
  • stage2: Calculating pixel data by scanning particle contributions, writing colours to storage and sorting them according to specification;
  • stage3: Blending the colours one-by-one according to previous calculations to form the final image;
  • free: Frees host and device memory.

The main objective of the assignment was to improve program performance via the usage of parallelization techniques.

Development

Each stage was implemented using OpenMP and CUDA and can be examined in openmp.c and cuda.cu respectively. The main program (main.cu) runs each stage in the provided sequence, whilst measuring performance.

Different program arguments are configured to benchmark the performance via multiple runs to minimise the margin of error.

About

Assignment for Parallel Computing with Graphical Processing Units (GPUs) module at the University of Sheffield.

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors