A repository to store my cuda codes, including some common-used kernels.
You are supposed to get a GPU workspace first, below is one of the succeeded dep combinations,
Ubuntu
16.04cmake
3.15.6Opencv
≥ 3.1CUDA
10.0CuDNN
v7.6.5
git clone https://github.com/haoyuanz13/My-CUDA-Work.git
cd My-CUDA-Work
Before compiling, change the DCUDNN_LIBRARY
in the file compile.sh
, then,
sh compile.sh
sh run.sh
All the demo main codes are stored in the folder src
that are implemented via cpp
, and the kernels also other further header files will be ordered under the common
.
In addition, some of the cuda kernel implementation topics are listed below, will keep learning and uploading,
- The gray image normalization, check
src/main_gray_normalize.cpp
- The rgb image normalization, including channels flip, e.g. bgr to rgb, NHWC to NCHW, check
src/main_bgr2rgb_normalize.cpp
- The center-aligned based image padding, check
src/main_center_aligned_padding.cpp
- The cv::copyTo cuda version implementation, check
src/main_copyto.cpp
- The biliner interpolation based image resize, check
src/main_bilinear_inter_resize.cpp
- The feature map postprocess for the classification scenario, using reducing algorithm, check
src/main_reduce_postprocess_cls.cpp
- The matrix transpose operation kernel implementation, check
src/main_matrix_transpose.cpp
- The matrix multiplication operation kernel implementation, check
src/main_matrix_multiplication.cpp
- The bitonic sort kernel implementation, check
src/main_bitonic_sort.cpp
- The image dilate and erode kernel using vHGW algorithm, check
src/main_erode_dilate.cpp
- The integrated cuda icp tool, check the sub-directory
cuda-icp
Just feel free to check this repository, also will be pleasure if these stuffs would do a favor to you.