/usr/local/lib64/python3.6/site-packages/torch/include/THC
NameSizeModeActions
generic/-0755rm
THC.h3280644editdlrm
THCAllocator.h3700644editdlrm
THCAsmUtils.cuh34440644editdlrm
THCAtomics.cuh130940644editdlrm
THCCachingHostAllocator.h12540644editdlrm
THCDeviceTensor-inl.cuh115150644editdlrm
THCDeviceTensor.cuh161600644editdlrm
THCDeviceTensorUtils-inl.cuh44970644editdlrm
THCDeviceTensorUtils.cuh27200644editdlrm
THCDeviceUtils.cuh9420644editdlrm
THCGeneral.h27410644editdlrm
THCGeneral.hpp7430644editdlrm
THCGenerateAllTypes.h9580644editdlrm
THCGenerateBFloat16Type.h5150644editdlrm
THCGenerateBoolType.h4490644editdlrm
THCGenerateByteType.h4190644editdlrm
THCGenerateCharType.h4180644editdlrm
THCGenerateComplexDoubleType.h5330644editdlrm
THCGenerateComplexFloatType.h5260644editdlrm
THCGenerateComplexTypes.h2980644editdlrm
THCGenerateDoubleType.h4640644editdlrm
THCGenerateFloatType.h5500644editdlrm
THCGenerateFloatTypes.h7790644editdlrm
THCGenerateHalfType.h4810644editdlrm
THCGenerateIntType.h4140644editdlrm
THCGenerateLongType.h4190644editdlrm
THCGenerateShortType.h4240644editdlrm
THCIntegerDivider.cuh40950644editdlrm
THCNumerics.cuh198130644editdlrm
THCScanUtils.cuh47890644editdlrm
THCSleep.h2320644editdlrm
THCStorage.h4870644editdlrm
THCStorage.hpp8460644editdlrm
THCStorageCopy.h4660644editdlrm
THCTensor.h6230644editdlrm
THCTensor.hpp10700644editdlrm
THCTensorCopy.h4670644editdlrm
THCTensorCopy.hpp6000644editdlrm
THCTensorMathReduce.cuh6640644editdlrm
THCThrustAllocator.cuh6180644editdlrm
Edit: /usr/local/lib64/python3.6/site-packages/torch/include/THC/THCDeviceTensorUtils-inl.cuh (4497B)
namespace detail { // Add a layer of SFINAE to support static_assert template class PtrTraits, int NewDim, bool B> struct UpcastTHCRoot { static THCDeviceTensor make(THCState* state, THCudaTensor* t); }; template class PtrTraits, int NewDim, bool B> struct UpcastTHC : UpcastTHCRoot { }; // Never instantiated SFINAE purposes only template class PtrTraits, int NewDim> struct UpcastTHC : UpcastTHCRoot { }; template class PtrTraits, int NewDim> struct UpcastTHC : UpcastTHCRoot { static THCDeviceTensor make(THCState* state, THCudaTensor* t) { thc_static_assert(NewDim > Dim); return toDeviceTensor(state, t). template upcastOuter(); } }; // Add a layer of SFINAE to support static_assert template class PtrTraits, int NewDim, bool B> struct DowncastTHCRoot { static THCDeviceTensor make(THCState* state, THCudaTensor* t); }; template class PtrTraits, int NewDim, bool B> struct DowncastTHC : DowncastTHCRoot { }; // Never instantiated SFINAE purposes only template class PtrTraits, int NewDim> struct DowncastTHC : DowncastTHCRoot { }; template class PtrTraits, int NewDim> struct DowncastTHC : DowncastTHCRoot { static THCDeviceTensor make(THCState* state, THCudaTensor* t) { thc_static_assert(NewDim < Dim); return toDeviceTensor(state, t). template downcastOuter(); } }; } // namespace detail #define SWITCH_UNROLL_CUDA_CAST_FACTORY(i) \ case i: \ if (NewDim > i) { \ return detail::UpcastTHC i)>:: \ make(state, t); \ } else if (NewDim == i) { \ return toDeviceTensor(state, t); \ } else { \ return detail::DowncastTHC:: \ make(state, t); \ } \ /* break; */ template class PtrTraits> THCDeviceTensor toDeviceTensorCast(THCState* state, THCudaTensor* t) { switch (THCudaTensor_nDimensionLegacyAll(state, t)) { SWITCH_UNROLL_CUDA_CAST_FACTORY(1); SWITCH_UNROLL_CUDA_CAST_FACTORY(2); SWITCH_UNROLL_CUDA_CAST_FACTORY(3); SWITCH_UNROLL_CUDA_CAST_FACTORY(4); SWITCH_UNROLL_CUDA_CAST_FACTORY(5); SWITCH_UNROLL_CUDA_CAST_FACTORY(6); SWITCH_UNROLL_CUDA_CAST_FACTORY(7); SWITCH_UNROLL_CUDA_CAST_FACTORY(8); SWITCH_UNROLL_CUDA_CAST_FACTORY(9); SWITCH_UNROLL_CUDA_CAST_FACTORY(10); default: ; } // Not implemented THError("THCDeviceTensor dimension size not supported"); return NULL; /* never enters this piece, appeasing compiler warnings */ } #undef SWITCH_UNROLL_CUDA_CAST_FACTORY