utils.cuh 792 Bytes
Newer Older
rusty1s's avatar
rusty1s committed
1
2
3
4
5
6
7
#pragma once

#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
11

__device__ __inline__ at::Half __shfl_up_sync(const unsigned mask,
                                              const at::Half var,
                                              const unsigned int delta) {
Matthias Fey's avatar
Matthias Fey committed
12
  return __shfl_up_sync(mask, var.operator __half(), delta);
rusty1s's avatar
rusty1s committed
13
14
15
16
17
}

__device__ __inline__ at::Half __shfl_down_sync(const unsigned mask,
                                                const at::Half var,
                                                const unsigned int delta) {
Matthias Fey's avatar
Matthias Fey committed
18
  return __shfl_down_sync(mask, var.operator __half(), delta);
rusty1s's avatar
rusty1s committed
19
}