fovi.sensing.grid_sample_cuda

CuPy/NVRTC kernels for sampling CUDA images at moving foveated grids.

The public sampler owns coordinate preparation and backend selection. This module is a small optional implementation detail: it accepts raw Torch storage and launches on Torch’s current CUDA stream without constructing a CuPy array or a full-resolution float tensor. Floating storage is preserved while coordinate/interpolation arithmetic uses float32 for float16/float32 and float64 for float64.

fovi.sensing.grid_sample_cuda.sample_uint8(image, base_grid, fix_loc, fix_size, mode='nearest')[source]

Sample image and return contiguous [B, C, N] native-scale output.

fovi.sensing.grid_sample_cuda.sample_float(image, base_grid, fix_loc, fix_size, mode='nearest')[source]

Sample a CUDA floating image and preserve its storage dtype at output.

fovi.sensing.grid_sample_cuda.clear_kernel_cache()[source]

Clear Python-side kernel and stream handles (primarily for tests).