Exercise 3 for the course "Parallel and distributed systems" of THMMY in AUTH university.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
Apostolos Fanakis dd81bf36bb Fix multiply, Add error checking for CUDA calls 7 years ago
code MATLAB code 7 years ago
data Fix memory allocations 7 years ago
mean_shift_cuda Fix multiply, Add error checking for CUDA calls 7 years ago
mean_shift_serial Fix memory allocations 7 years ago
output/visualization Fixed memory management, Add more datasets, Fixed Processing script 7 years ago
testers test cuda code 7 years ago
.gitignore output/ ignored 7 years ago
README.md Code clean-up, vars rename, loops merge, matrix saving function 7 years ago

README.md

Mean-shift

Mean-shift is a mathematical procedure, adopted in algorithms, designed in the 70's by Fukunaga and Hostetler. The algorithm is used for:

  • Cluster analysis
  • Computer vision
  • Image processing

Repository

This repository provides a serial implementation of the algorithm in C language, as well as the parallel equivalent in CUDA. The project was undertaken as part of the "Parallel and distributed systems" course of AUTH university.

A Gaussian kernel was used for the weighting function. The code was tested for different data sets and information regarding the execution time and correctness were extracted. In addition, two versions of the parallel algorithm were tested and compared, with and without the usage of shared memory respectively.

Compilation

To compile make sure all necessary packages and dependencies are installed. Then run:

$ make

Usage

blah blah, arguments needed etc

Free Software, Hell Yeah!