utils.cuh 720 Bytes
Newer Older
rusty1s's avatar
rusty1s committed
1
2
#pragma once

rusty1s's avatar
rusty1s committed
3
4
5
6
7
#include <torch/extension.h>

#define CHECK_CUDA(x)                                                          \
  AT_ASSERTM(x.device().is_cuda(), #x " must be CUDA tensor")
#define CHECK_INPUT(x) AT_ASSERTM(x, "Input mismatch")
rusty1s's avatar
rusty1s committed
8
9
10
#define CHECK_CONTIGUOUS(x)                                                    \
  AT_ASSERTM(x.is_contiguous(), #x " must be contiguous")

rusty1s's avatar
rusty1s committed
11
12
13
__forceinline__ __device__ int64_t get_example_idx(int64_t idx,
                                                   const int64_t *ptr,
                                                   const int64_t num_examples) {
rusty1s's avatar
rusty1s committed
14
15
16
17
18
19
  for (int64_t i = 0; i < num_examples; i++) {
    if (ptr[i + 1] > idx)
      return i;
  }
  return num_examples - 1;
}