![]() |
Jetson Inference
DNN Vision Library
|
CUDA utilities and image processing kernels. More...
Modules | |
| Color Mapping | |
| Defines various colormaps and color mapping functions. | |
| Color Conversion | |
| Colorspace conversion functions for various YUV formats, RGB, BGR, Bayer, and grayscale. | |
| Cropping | |
| Crop an image to the specified region of interest (ROI). | |
| Drawing | |
| Drawing basic 2D shapes using CUDA. | |
| Error Checking | |
| Error checking and logging macros. | |
| Fonts | |
| TTF font rasterization and image overlay rendering using CUDA. | |
| Memory Management | |
| Allocation of CUDA mapped zero-copy memory. | |
| Normalization | |
| Normalize the pixel intensities of an image between two ranges. | |
| Overlay | |
| Overlay images and vector shapes onto other images. | |
| Pixel Filtering | |
| CUDA device functions for sampling pixels with bilinear filtering. | |
| Point Cloud | |
| 3D point cloud processing and visualization. | |
| Resize | |
| Rescale an image to a different resolution. | |
| Warping | |
| Various image warps and matrix transforms. | |
Functions | |
| __device__ __host__ int | iDivUp (int a, int b) |
| If a / b has a remainder, round up. More... | |
CUDA utilities and image processing kernels.
|
inline |
If a / b has a remainder, round up.
This function is commonly using when launching CUDA kernels, to compute a grid size inclusive of the entire dataset if it's dimensions aren't evenly divisible by the block size.
For example:
const dim3 blockDim(8,8); const dim3 gridDim(iDivUp(imgWidth,blockDim.x), iDivUp(imgHeight,blockDim.y));
Then inside the CUDA kernel, there is typically a check that thread index is in-bounds.
Without the use of iDivUp(), if the data dimensions weren't evenly divisible by the block size, parts of the data wouldn't be covered by the grid and not processed.