#include <stdio.h>
#include "CUDAGaussianBlur.h"
#include "Watershed.h"
#include "ProfileHooks.h"
#include <cuda_fp16.h>
Go to the source code of this file.
Defines | |
#define | WATERSHED_INTERNAL 1 |
#define | CUERR |
#define | KERNEL_MAX_SIZE 4096 |
#define | BLOCKDIM_X 128 |
#define | BLOCKDIM_Y 1 |
#define | BLOCKDIM_Z 1 |
#define | XCONV_BLOCKDIM_X 96 |
#define | XCONV_BLOCKDIM_Y 1 |
#define | XCONV_BLOCKDIM_Z 1 |
#define | YCONV_BLOCKDIM_X 16 |
#define | YCONV_BLOCKDIM_Y 8 |
#define | YCONV_BLOCKDIM_Z 1 |
#define | ZCONV_BLOCKDIM_X 4 |
#define | ZCONV_BLOCKDIM_Y 1 |
#define | ZCONV_BLOCKDIM_Z 32 |
#define | X_PADDING 32 |
#define | SWAPF(a, b) |
#define | INST_GAUSSIAN_CUDA(I_T) |
Functions | |
template<typename T> __device__ __forceinline__ void | convert_type_and_assign_val (T *arr, long idx, float val) |
template<> __device__ __forceinline__ void | convert_type_and_assign_val< float > (float *arr, long idx, float val) |
void | copy_array_from_gpu (void *arr, void *arr_d, int bytes) |
void | copy_array_to_gpu (void *arr_d, void *arr, int bytes) |
void * | alloc_cuda_array (int bytes) |
void | free_cuda_array (void *arr) |
void | set_gaussian_1D_kernel_cuda (float *kernel, int kernel_size) |
template<typename IMAGE_T, const int offset> __global__ void | convolution_x_kernel_s (const IMAGE_T *__restrict__ src_d, IMAGE_T *__restrict__ dst_d, int width, int height, int depth) |
template<typename IMAGE_T, const int offset> __global__ void | convolution_y_kernel_s (const IMAGE_T *__restrict__ src_d, IMAGE_T *__restrict__ dst_d, int width, int height, int depth) |
template<typename IMAGE_T, const int offset> __global__ void | convolution_z_kernel_s (const IMAGE_T *__restrict__ src_d, IMAGE_T *__restrict__ dst_d, int width, int height, int depth) |
template<typename IMAGE_T, const int offset> __global__ void | convolution_x_kernel (const IMAGE_T *__restrict__ src_d, IMAGE_T *__restrict__ dst_d, int width, int height, int depth) |
template<typename IMAGE_T> __global__ void | convolution_x_kernel (const IMAGE_T *__restrict__ src_d, IMAGE_T *__restrict__ dst_d, int offset, int width, int height, int depth) |
template<typename IMAGE_T, const int offset> __global__ void | convolution_y_kernel (const IMAGE_T *__restrict__ src_d, IMAGE_T *__restrict__ dst_d, int width, int height, int depth) |
template<typename IMAGE_T> __global__ void | convolution_y_kernel (const IMAGE_T *__restrict__ src_d, IMAGE_T *__restrict__ dst_d, int offset, int width, int height, int depth) |
template<typename IMAGE_T> __global__ void | convolution_z_kernel (const IMAGE_T *__restrict__ src_d, IMAGE_T *__restrict__ dst_d, int offset, int width, int height, int depth) |
template<typename IMAGE_T, const int offset> __global__ void | convolution_z_kernel (const IMAGE_T *__restrict__ src_d, IMAGE_T *__restrict__ dst_d, int width, int height, int depth) |
template<typename IMAGE_T> void | gaussian1D_x_cuda (IMAGE_T *src_d, IMAGE_T *dst_d, int kernel_size, int width, int height, int depth) |
template<typename IMAGE_T> void | gaussian1D_y_cuda (IMAGE_T *src_d, IMAGE_T *dst_d, int kernel_size, int width, int height, int depth) |
template<typename IMAGE_T> void | gaussian1D_z_cuda (IMAGE_T *src_d, IMAGE_T *dst_d, int kernel_size, int width, int height, int depth) |
Variables | |
__constant__ float | kernel_d_c [KERNEL_MAX_SIZE] |
Primarily for use in the context of scale-space filtering used for 3-D image segmentation of Cryo-EM density maps.
Definition in file CUDAGaussianBlur.cu.
|
Definition at line 46 of file CUDAGaussianBlur.cu. |
|
Definition at line 47 of file CUDAGaussianBlur.cu. |
|
Definition at line 48 of file CUDAGaussianBlur.cu. |
|
Definition at line 39 of file CUDAGaussianBlur.cu. Referenced by alloc_cuda_array, copy_array_from_gpu, copy_array_to_gpu, gaussian1D_x_cuda, gaussian1D_y_cuda, gaussian1D_z_cuda, and set_gaussian_1D_kernel_cuda. |
|
Value: template void gaussian1D_x_cuda<I_T>(I_T* src_d, I_T* dst_d, int kernel_size,\ int width, int height, int depth);\ template void gaussian1D_y_cuda<I_T>(I_T* src_d, I_T* dst_d, int kernel_size,\ int width, int height, int depth);\ template void gaussian1D_z_cuda<I_T>(I_T* src_d, I_T* dst_d, int kernel_size,\ int width, int height, int depth); Definition at line 71 of file CUDAGaussianBlur.cu. |
|
Definition at line 42 of file CUDAGaussianBlur.cu. Referenced by set_gaussian_1D_kernel_cuda. |
|
Value: {\ float* t = a;\ a = b;\ b = t;\ } Definition at line 65 of file CUDAGaussianBlur.cu. |
|
Definition at line 24 of file CUDAGaussianBlur.cu. |
|
Definition at line 63 of file CUDAGaussianBlur.cu. |
|
Definition at line 51 of file CUDAGaussianBlur.cu. Referenced by convolution_x_kernel, convolution_x_kernel_s, and gaussian1D_x_cuda. |
|
Definition at line 52 of file CUDAGaussianBlur.cu. Referenced by convolution_x_kernel, convolution_x_kernel_s, and gaussian1D_x_cuda. |
|
Definition at line 53 of file CUDAGaussianBlur.cu. Referenced by convolution_x_kernel, convolution_x_kernel_s, and gaussian1D_x_cuda. |
|
Definition at line 55 of file CUDAGaussianBlur.cu. Referenced by convolution_y_kernel, convolution_y_kernel_s, and gaussian1D_y_cuda. |
|
Definition at line 56 of file CUDAGaussianBlur.cu. Referenced by convolution_y_kernel, convolution_y_kernel_s, and gaussian1D_y_cuda. |
|
Definition at line 57 of file CUDAGaussianBlur.cu. Referenced by convolution_y_kernel, convolution_y_kernel_s, and gaussian1D_y_cuda. |
|
Definition at line 59 of file CUDAGaussianBlur.cu. Referenced by convolution_z_kernel, convolution_z_kernel_s, and gaussian1D_z_cuda. |
|
Definition at line 60 of file CUDAGaussianBlur.cu. Referenced by convolution_z_kernel, convolution_z_kernel_s, and gaussian1D_z_cuda. |
|
Definition at line 61 of file CUDAGaussianBlur.cu. Referenced by convolution_z_kernel, convolution_z_kernel_s, and gaussian1D_z_cuda. |
|
Definition at line 118 of file CUDAGaussianBlur.cu. References CUERR. |
|
Definition at line 87 of file CUDAGaussianBlur.cu. Referenced by convolution_x_kernel, convolution_x_kernel_s, convolution_y_kernel, convolution_y_kernel_s, convolution_z_kernel, and convolution_z_kernel_s. |
|
|
|
Definition at line 367 of file CUDAGaussianBlur.cu. References convert_type_and_assign_val, kernel_d_c, XCONV_BLOCKDIM_X, XCONV_BLOCKDIM_Y, XCONV_BLOCKDIM_Z, and z. |
|
Definition at line 324 of file CUDAGaussianBlur.cu. References convert_type_and_assign_val, kernel_d_c, XCONV_BLOCKDIM_X, XCONV_BLOCKDIM_Y, XCONV_BLOCKDIM_Z, and z. |
|
Definition at line 144 of file CUDAGaussianBlur.cu. References convert_type_and_assign_val, kernel_d_c, XCONV_BLOCKDIM_X, XCONV_BLOCKDIM_Y, XCONV_BLOCKDIM_Z, and z. Referenced by gaussian1D_x_cuda. |
|
Definition at line 446 of file CUDAGaussianBlur.cu. References convert_type_and_assign_val, kernel_d_c, YCONV_BLOCKDIM_X, YCONV_BLOCKDIM_Y, YCONV_BLOCKDIM_Z, and z. |
|
Definition at line 403 of file CUDAGaussianBlur.cu. References convert_type_and_assign_val, kernel_d_c, YCONV_BLOCKDIM_X, YCONV_BLOCKDIM_Y, YCONV_BLOCKDIM_Z, and z. |
|
Definition at line 204 of file CUDAGaussianBlur.cu. References convert_type_and_assign_val, kernel_d_c, YCONV_BLOCKDIM_X, YCONV_BLOCKDIM_Y, YCONV_BLOCKDIM_Z, and z. Referenced by gaussian1D_y_cuda. |
|
Definition at line 519 of file CUDAGaussianBlur.cu. References convert_type_and_assign_val, kernel_d_c, z, ZCONV_BLOCKDIM_X, ZCONV_BLOCKDIM_Y, and ZCONV_BLOCKDIM_Z. |
|
Definition at line 482 of file CUDAGaussianBlur.cu. References convert_type_and_assign_val, kernel_d_c, z, ZCONV_BLOCKDIM_X, ZCONV_BLOCKDIM_Y, and ZCONV_BLOCKDIM_Z. |
|
Definition at line 263 of file CUDAGaussianBlur.cu. References convert_type_and_assign_val, kernel_d_c, z, ZCONV_BLOCKDIM_X, ZCONV_BLOCKDIM_Y, and ZCONV_BLOCKDIM_Z. Referenced by gaussian1D_z_cuda. |
|
Definition at line 102 of file CUDAGaussianBlur.cu. References CUERR, PROFILE_POP_RANGE, and PROFILE_PUSH_RANGE. |
|
Definition at line 112 of file CUDAGaussianBlur.cu. References CUERR. |
|
Definition at line 126 of file CUDAGaussianBlur.cu. |
|
Definition at line 564 of file CUDAGaussianBlur.cu. References convolution_x_kernel_s, CUERR, XCONV_BLOCKDIM_X, XCONV_BLOCKDIM_Y, and XCONV_BLOCKDIM_Z. |
|
Definition at line 637 of file CUDAGaussianBlur.cu. References convolution_y_kernel_s, CUERR, YCONV_BLOCKDIM_X, YCONV_BLOCKDIM_Y, and YCONV_BLOCKDIM_Z. |
|
Definition at line 697 of file CUDAGaussianBlur.cu. References convolution_z_kernel_s, CUERR, ZCONV_BLOCKDIM_X, ZCONV_BLOCKDIM_Y, and ZCONV_BLOCKDIM_Z. |
|
Definition at line 131 of file CUDAGaussianBlur.cu. References CUERR, kernel_d_c, and KERNEL_MAX_SIZE. |
|
Definition at line 44 of file CUDAGaussianBlur.cu. Referenced by convolution_x_kernel, convolution_x_kernel_s, convolution_y_kernel, convolution_y_kernel_s, convolution_z_kernel, convolution_z_kernel_s, and set_gaussian_1D_kernel_cuda. |