I have not used integer tensor (THCudaIntTensor*) so far.
But I could see, it has been used in torch layers.

  
      github.com
  
  
    torch/cunn/blob/master/lib/THCUNN/generic/SparseLinear.cu#L20

static bool checkSize2D(THCTensor* t, long size0, long size1)
{
return t->nDimension == 2 && t->size[0] == size0 && t->size[1] == size1;
}


static bool checkSize1D(THCTensor* t, long size0)
{
return t->nDimension == 1 && t->size[0] == size0;
}


static inline void copyCudaFloatingType(THCState *state, THCudaIntTensor *buf, THCTensor *t) {
#ifdef THC_REAL_IS_FLOAT
THCudaIntTensor_copyCudaFloat(state, buf, t);
#elif defined(THC_REAL_IS_DOUBLE)
THCudaIntTensor_copyCudaDouble(state, buf, t);
#elif defined(THC_REAL_IS_HALF)
THCudaIntTensor_copyCudaHalf(state, buf, t);
#endif
}


void THNN_(SparseLinear_updateOutput)(