Skip to content

LuCazzola/cuda2dConvolution

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

91 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

cuda2dConvolution

The following repository contains all the material related to both the final project on Parallel image processing assigned during the GPU computing course : University of Trento (Italy) a.y. 2023/2024.


To see the report and better understand what this work is about, click Here
Authors : @LuCazzola @chrisdalvit

Requisites

git clone https://github.com/LuCazzola/cuda2dConvolution.git
cd cuda2dConvolution

download the following modules or load them if you're in a SLURM cluster

module load cuda/12.1 libpng

Commands

Makefile defines 4 rules :

  • make : builds main.cu + dependancies executables
  • make benchmark : builds benchmark.cu + dependancies executables
  • make debug : builds both main.cu and benchmark.cu + dependancies with debugging flags
  • make clean : cleans all object files

Bash scripts run_main.sh and run_benchmark.sh each containing launching instructions and customizable variables are made available.

Main

sbatch ./run_main.sh

Takes as input an .png image and returns as output a Gaussian blurred version of the image obtained with the selected kernel and configuration.
Results are stored in images folder

Benchmark

sbatch ./run_benchmark.sh

Generates a .csv benchmark file measuring mean + standard deviation of each secified algorithm : execution time, effective bandwidth, FLOPS.
Results are stored in data folder

About

Using CUDA to optimize the convolution operation convolution : (University of Trento, Italy)

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors