I extended PyTorch with a few custom C++/CUDA layers using PyTorch 1.0. I am now upgrading those layers to support PyTorch 1.2, and I can’t seem to figure out this deprecation warning:
ext_modules/include/nn/cuda/my_file.cuh: In lambda function:
ext_modules/include/nn/cuda/my_file.cuh:169:101: warning: ‘c10::ScalarType detail::scalar_type(const at::DeprecatedTypeProperties&)’ is deprecated [-Wdeprecated-declarations]
/data/anaconda3/envs/my_lib/lib/python3.7/site-packages/torch/include/ATen/Dispatch.h:78:1: note: declared here
inline at::ScalarType scalar_type(const at::DeprecatedTypeProperties &t) {
It seems to be related to my usage of AT_DISPATCH_FLOATING_TYPES
. For example, I get this warning from my reimplementation of im2col:
void Im2Col2DLauncher(at::Tensor data_im, const int64_t channels,
const int64_t height_im, const int64_t width_im,
const int64_t width_out, const int64_t width_col,
const int64_t kernel_h, const int64_t kernel_w,
const int64_t pad_h, const int64_t pad_w,
const int64_t stride_h, const int64_t stride_w,
const int64_t dilation_h, const int64_t dilation_w,
at::Tensor data_col) {
const int64_t num_kernels = channels * width_col;
const dim3 blocks((num_kernels + CUDA_NUM_THREADS - 1) / CUDA_NUM_THREADS);
// Launch channels * width_col kernels, with each kernel responsible for
// copying a the convolutions over a single channel.
AT_DISPATCH_FLOATING_TYPES(
data_col.type(), "Im2Col2DKernel", ([&] {
Im2Col2DKernel<<<blocks, CUDA_NUM_THREADS>>>(
num_kernels, data_im.data<scalar_t>(), height_im, width_im,
width_out, width_col, kernel_h, kernel_w, pad_h, pad_w, stride_h,
stride_w, dilation_h, dilation_w, data_col.data<scalar_t>());
CUDA_CHECK(cudaGetLastError())
}));
}
The only related include I am using is #include <torch/extension.h>
.
I looked at the Dispatch.h
file but I don’t see AT_DISPATCH_FLOATING_TYPES
listed as deprecated.
What’s going on? And is there a deprecation guide somewhere?