text: #pragma once
  
  #define CUDA_1D_KERNEL_LOOP(i, n)                                \
    for (int i = (blockIdx.x * blockDim.x) + threadIdx.x; i < (n); \
         i += (blockDim.x * gridDim.x))
  
  template <typename integer>
  constexpr __host__ __device__ inline integer ceil_div(integer n, integer m) {
    return (n + m - 1) / m;
  }
  