Skip to content

dyens/imbench

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Build

# For build you need custom opencv:
cd build
cmake -DCVPATH="YOUR_PATH_HERE/opencv/build" ..
make

Run Benchmark

./build/blend

Build requirements

  1. cmake,
  2. gcc
  3. google-benchmark-devel
  4. opencv
  5. QT
  6. Cuda toolkit (thrust lib)

TODO

  1. Naive implementation using per pixel blending (with pointer magic??)
  2. Multi thread implementation (openmp)
  3. Thrust implementation https://stackoverflow.com/questions/22891244/blend-two-images-using-gpu

DONE

  1. Opencv cuda

Notes

For fedora installation cuda toolkit use

cudo dnf config-manager --add-repo=https://negativo17.org/repos/fedora-nvidia.repo
sudo dnf install cuda-devel

Opecv Build

  1. Build gcc 😄 🤬 💩
sudo dnf install gpm-devel mpfr-devel libmpc-devel libstdc++-devel glibc-devel

# Pick your mirror:
wget http://mirror.linux-ia64.org/gnu/gcc/releases/gcc-10.3.0/gcc-10.3.0.tar.xz

tar -xf gcc-10.3.0.tar.xz
cd gcc-10.3.0

# Download this patch https://gitweb.gentoo.org/proj/gcc-patches.git/tree/10.3.0/gentoo/35_all_remove-cyclades.patch

patch -p1 < 35_all_remove-cyclades.patch

mkdir build && cd build
../configure --prefix=/opt/gcc10.3.0 \
    --program-suffix=-10.3 \
    --enable-languages=c,c++ \
    --disable-multilib

make -j6
make install
cd /opt/gcc10.3.0/bin
sudo ln -s gcc-10.3 gcc
sudo ln -s g++-10.3 g++

  1. Clone opencv
  2. Clone opencv-contrib
cd opencv
mkdir build
cd build


export PATH="/opt/gcc10.3.0/bin:$PATH"
export CC=/opt/gcc10.3.0/bin/gcc
export CXX=/opt/gcc10.3.0/bin/g++

cmake -D CMAKE_BUILD_TYPE=Release -D OPENCV_EXTRA_MODULES_PATH="../../opencv_contrib/modules" -DOPENCV_ENABLE_NONFREE=ON -DWITH_CUDA=ON  ..

# make sure cudaarithm in opencv modules in cmake output

make -j6

About

Bench image operations

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published