Run: python setup.py build -- error: command 'gcc' failed with exit status 1

My env: Pytorch: 1.9.0+cu111
GPU: NVIDIA GeForce RTX 2080 Ti
Sys: Ubuntu 18.04.5 LTS
I ran python setup.py build
error: command 'gcc' failed with exit status 1
And no surprise, I encountered ModuleNotFoundError: No module named 'correlation_cuda' when I ran python demo.py
I tried:
sudo apt-get update
sudo apt-get install python-dev
sudo apt-get install python3-dev
sudo apt-get install libevent-dev
sudo apt-get install build-essential
sudo apt-get install libblas-dev libatlas-base-dev
sudo apt install gcc
But still not work.
Help me pls! Thx!

Full error:
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/Optional.h:587:23: note:   ‘std::shared_ptrtorch::jit::Graph’ is not derived from ‘std::auto_ptr<_Up>’
contained_val() = std::forward(v);
^~~~
In file included from /usr/include/c++/7/memory:81:0,
from /root/miniconda3/lib/python3.8/site-packages/torch/include/c10/core/Allocator.h:4,
from /root/miniconda3/lib/python3.8/site-packages/torch/include/ATen/ATen.h:7,
from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/types.h:3,
from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader_options.h:4,
from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/base.h:3,
from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/stateful.h:3,
from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader.h:3,
from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data.h:3,
from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/all.h:8,
from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/torch.h:3,
from correlation_cuda.cc:1:
/usr/include/c++/7/bits/shared_ptr.h:317:7: note: candidate: std::shared_ptr<_Tp>& std::shared_ptr<_Tp>::operator=(std::shared_ptr<_Tp>&&) [with _Tp = torch::jit::Graph]
operator=(shared_ptr&& __r) noexcept
^~~~~~~~
/usr/include/c++/7/bits/shared_ptr.h:317:7: note:   passing ‘const std::shared_ptrtorch::jit::Graph’ as ‘this’ argument discards qualifiers
/usr/include/c++/7/bits/shared_ptr.h:325:2: note: candidate: std::shared_ptr<_Tp>::_Assignable<std::shared_ptr<_Yp> > std::shared_ptr<_Tp>::operator=(std::shared_ptr<_Yp>&&) [with _Yp = torch::jit::Graph; _Tp = torch::jit::Graph; std::shared_ptr<_Tp>::_Assignable<std::shared_ptr<_Yp> > = std::shared_ptrtorch::jit::Graph&]
operator=(shared_ptr<_Yp>&& __r) noexcept
^~~~~~~~
/usr/include/c++/7/bits/shared_ptr.h:325:2: note:   passing ‘const std::shared_ptrtorch::jit::Graph’ as ‘this’ argument discards qualifiers
/usr/include/c++/7/bits/shared_ptr.h:333:2: note: candidate: template<class _Yp, class _Del> std::shared_ptr<_Tp>::_Assignable<std::unique_ptr<_Up, _Ep> > std::shared_ptr<_Tp>::operator=(std::unique_ptr<_Up, _Ep>&&) [with _Yp = _Yp; _Del = _Del; _Tp = torch::jit::Graph]
operator=(unique_ptr<_Yp, _Del>&& __r)
^~~~~~~~
/usr/include/c++/7/bits/shared_ptr.h:333:2: note:   template argument deduction/substitution failed:
In file included from /root/miniconda3/lib/python3.8/site-packages/torch/include/c10/core/ScalarType.h:6:0,
from /root/miniconda3/lib/python3.8/site-packages/torch/include/c10/core/Scalar.h:10,
from /root/miniconda3/lib/python3.8/site-packages/torch/include/ATen/core/TensorBody.h:8,
from /root/miniconda3/lib/python3.8/site-packages/torch/include/ATen/Tensor.h:3,
from /root/miniconda3/lib/python3.8/site-packages/torch/include/ATen/Context.h:4,
from /root/miniconda3/lib/python3.8/site-packages/torch/include/ATen/ATen.h:9,
from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/types.h:3,
from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader_options.h:4,
from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/base.h:3,
from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/stateful.h:3,
from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader.h:3,
from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data.h:3,
from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/all.h:8,
from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/torch.h:3,
from correlation_cuda.cc:1:
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/Optional.h:587:23: note:   ‘std::shared_ptrtorch::jit::Graph’ is not derived from ‘std::unique_ptr<_Tp, _Dp>’
contained_val() = std::forward(v);
^~~~
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/Optional.h: In instantiation of ‘typename std::enable_if<(((std::is_constructible<T, U>::value && (! std::is_same<typename std::decay<_U1>::type, c10::optional >::value)) && (std::is_scalar<_Tp>::value || std::is_same<typename std::decay<_U1>::type, T>::value)) && std::is_assignable<T&, U>::value), c10::optional&>::type c10::optional::operator=(U&&) [with U = torch::jit::Method; T = torch::jit::Method; typename std::enable_if<(((std::is_constructible<T, U>::value && (! std::is_same<typename std::decay<_U1>::type, c10::optional >::value)) && (std::is_scalar<_Tp>::value || std::is_same<typename std::decay<_U1>::type, T>::value)) && std::is_assignable<T&, U>::value), c10::optional&>::type = c10::optionaltorch::jit::Method&]’:
/root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/jit/api/object.h:126:49:   required from here
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/Optional.h:587:23: error: passing ‘const torch::jit::Method’ as ‘this’ argument discards qualifiers [-fpermissive]
In file included from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/jit/api/object.h:6:0,
from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/jit/frontend/tracer.h:9,
from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/autograd/generated/variable_factories.h:12,
from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/types.h:7,
from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader_options.h:4,
from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/base.h:3,
from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/stateful.h:3,
from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader.h:3,
from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data.h:3,
from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/all.h:8,
from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/torch.h:3,
from correlation_cuda.cc:1:
/root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/jit/api/method.h:20:18: note:   in call to ‘torch::jit::Method& torch::jit::Method::operator=(torch::jit::Method&&)’
struct TORCH_API Method {
^~~~~~
In file included from /root/miniconda3/lib/python3.8/site-packages/torch/include/c10/core/ScalarType.h:6:0,
from /root/miniconda3/lib/python3.8/site-packages/torch/include/c10/core/Scalar.h:10,
from /root/miniconda3/lib/python3.8/site-packages/torch/include/ATen/core/TensorBody.h:8,
from /root/miniconda3/lib/python3.8/site-packages/torch/include/ATen/Tensor.h:3,
from /root/miniconda3/lib/python3.8/site-packages/torch/include/ATen/Context.h:4,
from /root/miniconda3/lib/python3.8/site-packages/torch/include/ATen/ATen.h:9,
from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/types.h:3,
from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader_options.h:4,
from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/base.h:3,
from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/stateful.h:3,
from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader.h:3,
from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data.h:3,
from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/all.h:8,
from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/torch.h:3,
from correlation_cuda.cc:1:
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/Optional.h: In instantiation of ‘typename std::enable_if<(((std::is_constructible<T, U>::value && (! std::is_same<typename std::decay<_U1>::type, c10::optional >::value)) && (std::is_scalar<_Tp>::value || std::is_same<typename std::decay<_U1>::type, T>::value)) && std::is_assignable<T&, U>::value), c10::optional&>::type c10::optional::operator=(U&&) [with U = long int; T = long int; typename std::enable_if<(((std::is_constructible<T, U>::value && (! std::is_same<typename std::decay<_U1>::type, c10::optional >::value)) && (std::is_scalar<_Tp>::value || std::is_same<typename std::decay<_U1>::type, T>::value)) && std::is_assignable<T&, U>::value), c10::optional&>::type = c10::optional&]’:
/root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/nn/functional/embedding.h:35:39:   required from here
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/Optional.h:587:23: error: assignment of read-only location ‘((c10::optional)this)->c10::optional::contained_val()’
contained_val() = std::forward(v);
^~~~
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/Optional.h: In instantiation of ‘typename std::enable_if<(((std::is_constructible<T, U>::value && (! std::is_same<typename std::decay<_U1>::type, c10::optional >::value)) && (std::is_scalar<_Tp>::value || std::is_same<typename std::decay<_U1>::type, T>::value)) && std::is_assignable<T&, U>::value), c10::optional&>::type c10::optional::operator=(U&&) [with U = int; T = long int; typename std::enable_if<(((std::is_constructible<T, U>::value && (! std::is_same<typename std::decay<_U1>::type, c10::optional >::value)) && (std::is_scalar<_Tp>::value || std::is_same<typename std::decay<_U1>::type, T>::value)) && std::is_assignable<T&, U>::value), c10::optional&>::type = c10::optional&]’:
/root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/nn/functional/embedding.h:38:20:   required from here
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/Optional.h:587:23: error: assignment of read-only location ‘((c10::optional)this)->c10::optional::contained_val()’
In file included from /root/miniconda3/lib/python3.8/site-packages/torch/include/c10/core/Device.h:5:0,
from /root/miniconda3/lib/python3.8/site-packages/torch/include/c10/core/Allocator.h:6,
from /root/miniconda3/lib/python3.8/site-packages/torch/include/ATen/ATen.h:7,
from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/types.h:3,
from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader_options.h:4,
from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/base.h:3,
from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/stateful.h:3,
from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader.h:3,
from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data.h:3,
from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/all.h:8,
from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/torch.h:3,
from correlation_cuda.cc:1:
/root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/enum.h: In instantiation of ‘at::Reduction::Reduction torch::enumtype::reduction_get_enum(V) [with V = c10::variant<torch::enumtype::kNone, torch::enumtype::kMean, torch::enumtype::kSum>]’:
/root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/nn/functional/loss.h:20:43:   required from here
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/Exception.h:364:36: error: no matching function for call to ‘torchCheckMsgImpl(const char [140], std::string, const char [36])’
(::c10::detail::torchCheckMsgImpl(                       \
    "Expected " #cond                                    \
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    " to be true, but got false.  "                      \
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    "(Could this error message be improved?  If so, "    \
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    "please report an enhancement request to PyTorch.)", \
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    ##__VA_ARGS__))
    ~~~~~~~~~~~~~~~
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/Exception.h:435:9: note: in expansion of macro ‘TORCH_CHECK_MSG’
      TORCH_CHECK_MSG(cond, "", ##__VA_ARGS__)); \
      ^~~~~~~~~~~~~~~
/root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/enum.h:194:5: note: in expansion of macro ‘TORCH_CHECK’
  TORCH_CHECK(
  ^~~~~~~~~~~
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/Exception.h:351:28: note: candidate: const char* c10::detail::torchCheckMsgImpl(const char*)
inline C10_API const char* torchCheckMsgImpl(const char* msg) {
                         ^~~~~~~~~~~~~~~~~
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/Exception.h:351:28: note:   candidate expects 1 argument, 3 provided
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/Exception.h:355:28: note: candidate: const char* c10::detail::torchCheckMsgImpl(const char*, const char*)
inline C10_API const char* torchCheckMsgImpl(
                         ^~~~~~~~~~~~~~~~~
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/Exception.h:355:28: note:   candidate expects 2 arguments, 3 provided
/root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/enum.h: In instantiation of ‘at::Reduction::Reduction torch::enumtype::reduction_get_enum(V) [with V = c10::variant<torch::enumtype::kNone, torch::enumtype::kBatchMean, torch::enumtype::kSum, torch::enumtype::kMean>]’:
/root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/nn/functional/loss.h:65:60:   required from here
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/Exception.h:364:36: error: no matching function for call to ‘torchCheckMsgImpl(const char [140], std::string, const char [36])’
(::c10::detail::torchCheckMsgImpl(                       \
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
    "Expected " #cond                                    \
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    " to be true, but got false.  "                      \
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    "(Could this error message be improved?  If so, "    \
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    "please report an enhancement request to PyTorch.)", \
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    ##__VA_ARGS__))
    ~~~~~~~~~~~~~~~
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/Exception.h:435:9: note: in expansion of macro ‘TORCH_CHECK_MSG’
      TORCH_CHECK_MSG(cond, "", ##__VA_ARGS__)); \
      ^~~~~~~~~~~~~~~
/root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/enum.h:194:5: note: in expansion of macro ‘TORCH_CHECK’
  TORCH_CHECK(
  ^~~~~~~~~~~
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/Exception.h:351:28: note: candidate: const char* c10::detail::torchCheckMsgImpl(const char*)
inline C10_API const char* torchCheckMsgImpl(const char* msg) {
                         ^~~~~~~~~~~~~~~~~
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/Exception.h:351:28: note:   candidate expects 1 argument, 3 provided
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/Exception.h:355:28: note: candidate: const char* c10::detail::torchCheckMsgImpl(const char*, const char*)
inline C10_API const char* torchCheckMsgImpl(
                         ^~~~~~~~~~~~~~~~~
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/Exception.h:355:28: note:   candidate expects 2 arguments, 3 provided
In file included from /root/miniconda3/lib/python3.8/site-packages/torch/include/c10/core/DispatchKey.h:4:0,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/c10/core/Backend.h:4,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/c10/core/Layout.h:3,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/ATen/core/TensorBody.h:4,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/ATen/Tensor.h:3,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/ATen/Context.h:4,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/ATen/ATen.h:9,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/types.h:3,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader_options.h:4,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/base.h:3,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/stateful.h:3,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader.h:3,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data.h:3,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/all.h:8,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/torch.h:3,
              from correlation_cuda.cc:1:
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/ArrayRef.h: In instantiation of ‘constexpr const T& c10::ArrayRef<T>::at(size_t) const [with T = c10::optional<long int>; size_t = long unsigned int]’:
/root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/nn/modules/utils.h:38:27:   required from here
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/ArrayRef.h:205:3: error: body of constexpr function ‘constexpr const T& c10::ArrayRef<T>::at(size_t) const [with T = c10::optional<long int>; size_t = long unsigned int]’ not a return-statement
}
^
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/ArrayRef.h: In instantiation of ‘constexpr const T& c10::ArrayRef<T>::at(size_t) const [with T = long int; size_t = long unsigned int]’:
/root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/nn/modules/utils.h:39:33:   required from here
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/ArrayRef.h:205:3: error: body of constexpr function ‘constexpr const T& c10::ArrayRef<T>::at(size_t) const [with T = long int; size_t = long unsigned int]’ not a return-statement
In file included from /root/miniconda3/lib/python3.8/site-packages/torch/include/c10/core/ScalarType.h:6:0,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/c10/core/Scalar.h:10,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/ATen/core/TensorBody.h:8,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/ATen/Tensor.h:3,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/ATen/Context.h:4,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/ATen/ATen.h:9,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/types.h:3,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader_options.h:4,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/base.h:3,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/stateful.h:3,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader.h:3,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data.h:3,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/all.h:8,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/torch.h:3,
              from correlation_cuda.cc:1:
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/Optional.h: In instantiation of ‘typename std::enable_if<(((std::is_constructible<T, U>::value && (! std::is_same<typename std::decay<_U1>::type, c10::optional<T> >::value)) && (std::is_scalar<_Tp>::value || std::is_same<typename std::decay<_U1>::type, T>::value)) && std::is_assignable<T&, U>::value), c10::optional<T>&>::type c10::optional<T>::operator=(U&&) [with U = torch::ExpandingArray<2>; T = torch::ExpandingArray<2>; typename std::enable_if<(((std::is_constructible<T, U>::value && (! std::is_same<typename std::decay<_U1>::type, c10::optional<T> >::value)) && (std::is_scalar<_Tp>::value || std::is_same<typename std::decay<_U1>::type, T>::value)) && std::is_assignable<T&, U>::value), c10::optional<T>&>::type = c10::optional<torch::ExpandingArray<2> >&]’:
/root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/nn/functional/pooling.h:774:77:   required from here
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/Optional.h:587:23: error: passing ‘const torch::ExpandingArray<2>’ as ‘this’ argument discards qualifiers [-fpermissive]
    contained_val() = std::forward<U>(v);
    ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
In file included from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/nn/options/conv.h:6:0,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/nn/functional/conv.h:3,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/nn/functional.h:4,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/nn.h:4,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/all.h:13,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/torch.h:3,
              from correlation_cuda.cc:1:
/root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/expanding_array.h:23:7: note:   in call to ‘torch::ExpandingArray<2>& torch::ExpandingArray<2>::operator=(torch::ExpandingArray<2>&&)’
class ExpandingArray {
    ^~~~~~~~~~~~~~
In file included from /root/miniconda3/lib/python3.8/site-packages/torch/include/c10/core/ScalarType.h:6:0,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/c10/core/Scalar.h:10,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/ATen/core/TensorBody.h:8,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/ATen/Tensor.h:3,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/ATen/Context.h:4,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/ATen/ATen.h:9,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/types.h:3,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader_options.h:4,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/base.h:3,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/stateful.h:3,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader.h:3,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data.h:3,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/all.h:8,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/torch.h:3,
              from correlation_cuda.cc:1:
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/Optional.h: In instantiation of ‘typename std::enable_if<(((std::is_constructible<T, U>::value && (! std::is_same<typename std::decay<_U1>::type, c10::optional<T> >::value)) && (std::is_scalar<_Tp>::value || std::is_same<typename std::decay<_U1>::type, T>::value)) && std::is_assignable<T&, U>::value), c10::optional<T>&>::type c10::optional<T>::operator=(U&&) [with U = torch::ExpandingArray<3>; T = torch::ExpandingArray<3>; typename std::enable_if<(((std::is_constructible<T, U>::value && (! std::is_same<typename std::decay<_U1>::type, c10::optional<T> >::value)) && (std::is_scalar<_Tp>::value || std::is_same<typename std::decay<_U1>::type, T>::value)) && std::is_assignable<T&, U>::value), c10::optional<T>&>::type = c10::optional<torch::ExpandingArray<3> >&]’:
/root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/nn/functional/pooling.h:853:77:   required from here
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/Optional.h:587:23: error: passing ‘const torch::ExpandingArray<3>’ as ‘this’ argument discards qualifiers [-fpermissive]
    contained_val() = std::forward<U>(v);
    ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
In file included from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/nn/options/conv.h:6:0,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/nn/functional/conv.h:3,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/nn/functional.h:4,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/nn.h:4,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/all.h:13,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/torch.h:3,
              from correlation_cuda.cc:1:
/root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/expanding_array.h:23:7: note:   in call to ‘torch::ExpandingArray<3>& torch::ExpandingArray<3>::operator=(torch::ExpandingArray<3>&&)’
class ExpandingArray {
    ^~~~~~~~~~~~~~
In file included from /root/miniconda3/lib/python3.8/site-packages/torch/include/c10/core/Device.h:5:0,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/c10/core/Allocator.h:6,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/ATen/ATen.h:7,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/types.h:3,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader_options.h:4,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/base.h:3,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/stateful.h:3,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader.h:3,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data.h:3,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/all.h:8,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/torch.h:3,
              from correlation_cuda.cc:1:
/root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/ordered_dict.h: In instantiation of ‘void torch::OrderedDict<Key, Value>::erase(const Key&) [with Key = std::basic_string<char>; Value = std::shared_ptr<torch::nn::Module>]’:
/root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/nn/modules/container/moduledict.h:197:23:   required from here
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/Exception.h:364:36: error: no matching function for call to ‘torchCheckMsgImpl(const char [153], const char [6], const std::basic_string<char>&, const char [16])’
(::c10::detail::torchCheckMsgImpl(                       \
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
    "Expected " #cond                                    \
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    " to be true, but got false.  "                      \
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    "(Could this error message be improved?  If so, "    \
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    "please report an enhancement request to PyTorch.)", \
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    ##__VA_ARGS__))
    ~~~~~~~~~~~~~~~
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/Exception.h:435:9: note: in expansion of macro ‘TORCH_CHECK_MSG’
      TORCH_CHECK_MSG(cond, "", ##__VA_ARGS__)); \
      ^~~~~~~~~~~~~~~
/root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/ordered_dict.h:425:3: note: in expansion of macro ‘TORCH_CHECK’
TORCH_CHECK(it != index_.end(), "Key '", key, "' doesn't exist");
^~~~~~~~~~~
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/Exception.h:351:28: note: candidate: const char* c10::detail::torchCheckMsgImpl(const char*)
inline C10_API const char* torchCheckMsgImpl(const char* msg) {
                         ^~~~~~~~~~~~~~~~~
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/Exception.h:351:28: note:   candidate expects 1 argument, 4 provided
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/Exception.h:355:28: note: candidate: const char* c10::detail::torchCheckMsgImpl(const char*, const char*)
inline C10_API const char* torchCheckMsgImpl(
                         ^~~~~~~~~~~~~~~~~
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/Exception.h:355:28: note:   candidate expects 2 arguments, 4 provided
/root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/ordered_dict.h: In instantiation of ‘void torch::OrderedDict<Key, Value>::erase(const Key&) [with Key = std::basic_string<char>; Value = at::Tensor]’:
/root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/nn/modules/container/parameterdict.h:52:26:   required from here
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/Exception.h:364:36: error: no matching function for call to ‘torchCheckMsgImpl(const char [153], const char [6], const std::basic_string<char>&, const char [16])’
(::c10::detail::torchCheckMsgImpl(                       \
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
    "Expected " #cond                                    \
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    " to be true, but got false.  "                      \
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    "(Could this error message be improved?  If so, "    \
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    "please report an enhancement request to PyTorch.)", \
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    ##__VA_ARGS__))
    ~~~~~~~~~~~~~~~
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/Exception.h:435:9: note: in expansion of macro ‘TORCH_CHECK_MSG’
      TORCH_CHECK_MSG(cond, "", ##__VA_ARGS__)); \
      ^~~~~~~~~~~~~~~
/root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/ordered_dict.h:425:3: note: in expansion of macro ‘TORCH_CHECK’
TORCH_CHECK(it != index_.end(), "Key '", key, "' doesn't exist");
^~~~~~~~~~~
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/Exception.h:351:28: note: candidate: const char* c10::detail::torchCheckMsgImpl(const char*)
inline C10_API const char* torchCheckMsgImpl(const char* msg) {
                         ^~~~~~~~~~~~~~~~~
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/Exception.h:351:28: note:   candidate expects 1 argument, 4 provided
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/Exception.h:355:28: note: candidate: const char* c10::detail::torchCheckMsgImpl(const char*, const char*)
inline C10_API const char* torchCheckMsgImpl(
                         ^~~~~~~~~~~~~~~~~
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/Exception.h:355:28: note:   candidate expects 2 arguments, 4 provided
In file included from /root/miniconda3/lib/python3.8/site-packages/torch/include/c10/core/ScalarType.h:6:0,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/c10/core/Scalar.h:10,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/ATen/core/TensorBody.h:8,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/ATen/Tensor.h:3,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/ATen/Context.h:4,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/ATen/ATen.h:9,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/types.h:3,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader_options.h:4,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/base.h:3,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/stateful.h:3,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader.h:3,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data.h:3,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/all.h:8,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/torch.h:3,
              from correlation_cuda.cc:1:
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/Optional.h: In instantiation of ‘typename std::enable_if<(((std::is_constructible<T, U>::value && (! std::is_same<typename std::decay<_U1>::type, c10::optional<T> >::value)) && (std::is_scalar<_Tp>::value || std::is_same<typename std::decay<_U1>::type, T>::value)) && std::is_assignable<T&, U>::value), c10::optional<T>&>::type c10::optional<T>::operator=(U&&) [with U = std::vector<c10::optional<c10::Stride>, std::allocator<c10::optional<c10::Stride> > >; T = std::vector<c10::optional<c10::Stride>, std::allocator<c10::optional<c10::Stride> > >; typename std::enable_if<(((std::is_constructible<T, U>::value && (! std::is_same<typename std::decay<_U1>::type, c10::optional<T> >::value)) && (std::is_scalar<_Tp>::value || std::is_same<typename std::decay<_U1>::type, T>::value)) && std::is_assignable<T&, U>::value), c10::optional<T>&>::type = c10::optional<std::vector<c10::optional<c10::Stride>, std::allocator<c10::optional<c10::Stride> > > >&]’:
/root/miniconda3/lib/python3.8/site-packages/torch/include/ATen/core/jit_type.h:365:13:   required from ‘c10::VaryingShape<T>::VaryingShape(c10::optional<long unsigned int>) [with T = c10::Stride]’
/root/miniconda3/lib/python3.8/site-packages/torch/include/ATen/core/jit_type.h:534:44:   required from here
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/Optional.h:587:23: error: passing ‘const std::vector<c10::optional<c10::Stride>, std::allocator<c10::optional<c10::Stride> > >’ as ‘this’ argument discards qualifiers [-fpermissive]
    contained_val() = std::forward<U>(v);
    ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/7/vector:64:0,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/StringUtil.h:11,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/Exception.h:6,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/c10/core/Device.h:5,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/c10/core/Allocator.h:6,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/ATen/ATen.h:7,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/types.h:3,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader_options.h:4,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/base.h:3,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/stateful.h:3,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader.h:3,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data.h:3,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/all.h:8,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/torch.h:3,
              from correlation_cuda.cc:1:
/usr/include/c++/7/bits/stl_vector.h:461:7: note:   in call to ‘std::vector<_Tp, _Alloc>& std::vector<_Tp, _Alloc>::operator=(std::vector<_Tp, _Alloc>&&) [with _Tp = c10::optional<c10::Stride>; _Alloc = std::allocator<c10::optional<c10::Stride> >]’
    operator=(vector&& __x) noexcept(_Alloc_traits::_S_nothrow_move())
    ^~~~~~~~
In file included from /root/miniconda3/lib/python3.8/site-packages/torch/include/ATen/core/List.h:480:0,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/ATen/core/ivalue_inl.h:8,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/ATen/core/ivalue.h:1175,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/ATen/record_function.h:3,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/ATen/Dispatch.h:5,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/ATen/ATen.h:13,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/types.h:3,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader_options.h:4,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/base.h:3,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/stateful.h:3,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader.h:3,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data.h:3,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/all.h:8,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/torch.h:3,
              from correlation_cuda.cc:1:
/root/miniconda3/lib/python3.8/site-packages/torch/include/ATen/core/List_inl.h: In instantiation of ‘static c10::IValue c10::detail::ListElementFrom<T>::from(T&&) [with T = c10::optional<at::Tensor>]’:
/root/miniconda3/lib/python3.8/site-packages/torch/include/ATen/core/List_inl.h:275:62:   required from ‘void c10::List<T>::push_back(T&&) const [with T = c10::optional<at::Tensor>]’
/root/miniconda3/lib/python3.8/site-packages/torch/include/ATen/TensorIndexing.h:280:75:   required from here
/root/miniconda3/lib/python3.8/site-packages/torch/include/ATen/core/List_inl.h:117:31: error: could not convert ‘std::move<c10::optional<at::Tensor>&>((* & element))’ from ‘std::remove_reference<c10::optional<at::Tensor>&>::type {aka c10::optional<at::Tensor>}’ to ‘c10::IValue’
    return std::move(element);
                            ^
In file included from /root/miniconda3/lib/python3.8/site-packages/torch/include/c10/core/Device.h:5:0,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/c10/core/Allocator.h:6,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/ATen/ATen.h:7,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/types.h:3,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader_options.h:4,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/base.h:3,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/stateful.h:3,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader.h:3,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data.h:3,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/all.h:8,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/torch.h:3,
              from correlation_cuda.cc:1:
/root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/expanding_array.h: In instantiation of ‘torch::ExpandingArray<D, T>::ExpandingArray(c10::ArrayRef<T>) [with long unsigned int D = 2; T = long int]’:
/root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/expanding_array.h:29:45:   required from ‘torch::ExpandingArray<D, T>::ExpandingArray(std::initializer_list<_Value>) [with long unsigned int D = 2; T = long int]’
/root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/nn/functional/pooling.h:774:77:   required from here
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/Exception.h:364:36: error: no matching function for call to ‘torchCheckMsgImpl(const char [153], const char [10], long unsigned int, const char [26], size_t)’
(::c10::detail::torchCheckMsgImpl(                       \
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
    "Expected " #cond                                    \
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    " to be true, but got false.  "                      \
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    "(Could this error message be improved?  If so, "    \
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    "please report an enhancement request to PyTorch.)", \
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    ##__VA_ARGS__))
    ~~~~~~~~~~~~~~~
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/Exception.h:435:9: note: in expansion of macro ‘TORCH_CHECK_MSG’
      TORCH_CHECK_MSG(cond, "", ##__VA_ARGS__)); \
      ^~~~~~~~~~~~~~~
/root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/expanding_array.h:42:5: note: in expansion of macro ‘TORCH_CHECK’
  TORCH_CHECK(
  ^~~~~~~~~~~
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/Exception.h:351:28: note: candidate: const char* c10::detail::torchCheckMsgImpl(const char*)
inline C10_API const char* torchCheckMsgImpl(const char* msg) {
                         ^~~~~~~~~~~~~~~~~
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/Exception.h:351:28: note:   candidate expects 1 argument, 5 provided
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/Exception.h:355:28: note: candidate: const char* c10::detail::torchCheckMsgImpl(const char*, const char*)
inline C10_API const char* torchCheckMsgImpl(
                         ^~~~~~~~~~~~~~~~~
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/Exception.h:355:28: note:   candidate expects 2 arguments, 5 provided
/root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/expanding_array.h: In instantiation of ‘torch::ExpandingArray<D, T>::ExpandingArray(c10::ArrayRef<T>) [with long unsigned int D = 3; T = long int]’:
/root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/expanding_array.h:29:45:   required from ‘torch::ExpandingArray<D, T>::ExpandingArray(std::initializer_list<_Value>) [with long unsigned int D = 3; T = long int]’
/root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/nn/functional/pooling.h:853:77:   required from here
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/Exception.h:364:36: error: no matching function for call to ‘torchCheckMsgImpl(const char [153], const char [10], long unsigned int, const char [26], size_t)’
(::c10::detail::torchCheckMsgImpl(                       \
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
    "Expected " #cond                                    \
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    " to be true, but got false.  "                      \
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    "(Could this error message be improved?  If so, "    \
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    "please report an enhancement request to PyTorch.)", \
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    ##__VA_ARGS__))
    ~~~~~~~~~~~~~~~
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/Exception.h:435:9: note: in expansion of macro ‘TORCH_CHECK_MSG’
      TORCH_CHECK_MSG(cond, "", ##__VA_ARGS__)); \
      ^~~~~~~~~~~~~~~
/root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/expanding_array.h:42:5: note: in expansion of macro ‘TORCH_CHECK’
  TORCH_CHECK(
  ^~~~~~~~~~~
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/Exception.h:351:28: note: candidate: const char* c10::detail::torchCheckMsgImpl(const char*)
inline C10_API const char* torchCheckMsgImpl(const char* msg) {
                         ^~~~~~~~~~~~~~~~~
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/Exception.h:351:28: note:   candidate expects 1 argument, 5 provided
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/Exception.h:355:28: note: candidate: const char* c10::detail::torchCheckMsgImpl(const char*, const char*)
inline C10_API const char* torchCheckMsgImpl(
                         ^~~~~~~~~~~~~~~~~
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/Exception.h:355:28: note:   candidate expects 2 arguments, 5 provided
/root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/expanding_array.h: In instantiation of ‘torch::ExpandingArray<D, T>::ExpandingArray(c10::ArrayRef<T>) [with long unsigned int D = 1; T = long int]’:
/root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/expanding_array.h:35:44:   required from ‘torch::ExpandingArray<D, T>::ExpandingArray(std::vector<T>) [with long unsigned int D = 1; T = long int]’
/root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/nn/functional/upsampling.h:119:87:   required from here
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/Exception.h:364:36: error: no matching function for call to ‘torchCheckMsgImpl(const char [153], const char [10], long unsigned int, const char [26], size_t)’
(::c10::detail::torchCheckMsgImpl(                       \
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
    "Expected " #cond                                    \
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    " to be true, but got false.  "                      \
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    "(Could this error message be improved?  If so, "    \
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    "please report an enhancement request to PyTorch.)", \
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    ##__VA_ARGS__))
    ~~~~~~~~~~~~~~~
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/Exception.h:435:9: note: in expansion of macro ‘TORCH_CHECK_MSG’
      TORCH_CHECK_MSG(cond, "", ##__VA_ARGS__)); \
      ^~~~~~~~~~~~~~~
/root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/expanding_array.h:42:5: note: in expansion of macro ‘TORCH_CHECK’
  TORCH_CHECK(
  ^~~~~~~~~~~
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/Exception.h:351:28: note: candidate: const char* c10::detail::torchCheckMsgImpl(const char*)
inline C10_API const char* torchCheckMsgImpl(const char* msg) {
                         ^~~~~~~~~~~~~~~~~
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/Exception.h:351:28: note:   candidate expects 1 argument, 5 provided
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/Exception.h:355:28: note: candidate: const char* c10::detail::torchCheckMsgImpl(const char*, const char*)
inline C10_API const char* torchCheckMsgImpl(
                         ^~~~~~~~~~~~~~~~~
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/Exception.h:355:28: note:   candidate expects 2 arguments, 5 provided
/root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/expanding_array.h: In instantiation of ‘torch::ExpandingArrayWithOptionalElem<D, T>::ExpandingArrayWithOptionalElem(c10::ArrayRef<T>) [with long unsigned int D = 2; T = long int]’:
/root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/expanding_array.h:124:60:   required from ‘torch::ExpandingArrayWithOptionalElem<D, T>::ExpandingArrayWithOptionalElem(std::vector<T>) [with long unsigned int D = 2; T = long int]’
/root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/nn/functional/upsampling.h:121:87:   required from here
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/Exception.h:364:36: error: no matching function for call to ‘torchCheckMsgImpl(const char [153], const char [10], long unsigned int, const char [26], size_t)’
(::c10::detail::torchCheckMsgImpl(                       \
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
    "Expected " #cond                                    \
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    " to be true, but got false.  "                      \
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    "(Could this error message be improved?  If so, "    \
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    "please report an enhancement request to PyTorch.)", \
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    ##__VA_ARGS__))
    ~~~~~~~~~~~~~~~
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/Exception.h:435:9: note: in expansion of macro ‘TORCH_CHECK_MSG’
      TORCH_CHECK_MSG(cond, "", ##__VA_ARGS__)); \
      ^~~~~~~~~~~~~~~
/root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/expanding_array.h:131:5: note: in expansion of macro ‘TORCH_CHECK’
  TORCH_CHECK(
  ^~~~~~~~~~~
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/Exception.h:351:28: note: candidate: const char* c10::detail::torchCheckMsgImpl(const char*)
inline C10_API const char* torchCheckMsgImpl(const char* msg) {
                         ^~~~~~~~~~~~~~~~~
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/Exception.h:351:28: note:   candidate expects 1 argument, 5 provided
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/Exception.h:355:28: note: candidate: const char* c10::detail::torchCheckMsgImpl(const char*, const char*)
inline C10_API const char* torchCheckMsgImpl(
                         ^~~~~~~~~~~~~~~~~
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/Exception.h:355:28: note:   candidate expects 2 arguments, 5 provided
/root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/expanding_array.h: In instantiation of ‘torch::ExpandingArrayWithOptionalElem<D, T>::ExpandingArrayWithOptionalElem(c10::ArrayRef<T>) [with long unsigned int D = 3; T = long int]’:
/root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/expanding_array.h:124:60:   required from ‘torch::ExpandingArrayWithOptionalElem<D, T>::ExpandingArrayWithOptionalElem(std::vector<T>) [with long unsigned int D = 3; T = long int]’
/root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/nn/functional/upsampling.h:123:87:   required from here
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/Exception.h:364:36: error: no matching function for call to ‘torchCheckMsgImpl(const char [153], const char [10], long unsigned int, const char [26], size_t)’
(::c10::detail::torchCheckMsgImpl(                       \
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
    "Expected " #cond                                    \
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    " to be true, but got false.  "                      \
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    "(Could this error message be improved?  If so, "    \
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    "please report an enhancement request to PyTorch.)", \
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    ##__VA_ARGS__))
    ~~~~~~~~~~~~~~~
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/Exception.h:435:9: note: in expansion of macro ‘TORCH_CHECK_MSG’
      TORCH_CHECK_MSG(cond, "", ##__VA_ARGS__)); \
      ^~~~~~~~~~~~~~~
/root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/expanding_array.h:131:5: note: in expansion of macro ‘TORCH_CHECK’
  TORCH_CHECK(
  ^~~~~~~~~~~
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/Exception.h:351:28: note: candidate: const char* c10::detail::torchCheckMsgImpl(const char*)
inline C10_API const char* torchCheckMsgImpl(const char* msg) {
                         ^~~~~~~~~~~~~~~~~
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/Exception.h:351:28: note:   candidate expects 1 argument, 5 provided
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/Exception.h:355:28: note: candidate: const char* c10::detail::torchCheckMsgImpl(const char*, const char*)
inline C10_API const char* torchCheckMsgImpl(
                         ^~~~~~~~~~~~~~~~~
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/Exception.h:355:28: note:   candidate expects 2 arguments, 5 provided
/root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/ordered_dict.h: In instantiation of ‘Value& torch::OrderedDict<Key, Value>::insert(K&&, V&&) [with K = std::basic_string<char>; V = std::shared_ptr<torch::nn::Module>; Key = std::basic_string<char>; Value = std::shared_ptr<torch::nn::Module>]’:
/root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/ordered_dict.h:383:28:   required from ‘Value& torch::OrderedDict<Key, Value>::insert(Key, Value&&) [with Key = std::basic_string<char>; Value = std::shared_ptr<torch::nn::Module>]’
/root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/nn/modules/container/moduledict.h:230:45:   required from here
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/Exception.h:364:36: error: no matching function for call to ‘torchCheckMsgImpl(const char [157], std::string&, const char [3], std::basic_string<char>&, const char [18])’
(::c10::detail::torchCheckMsgImpl(                       \
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
    "Expected " #cond                                    \
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    " to be true, but got false.  "                      \
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    "(Could this error message be improved?  If so, "    \
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    "please report an enhancement request to PyTorch.)", \
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    ##__VA_ARGS__))
    ~~~~~~~~~~~~~~~
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/Exception.h:435:9: note: in expansion of macro ‘TORCH_CHECK_MSG’
      TORCH_CHECK_MSG(cond, "", ##__VA_ARGS__)); \
      ^~~~~~~~~~~~~~~
/root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/ordered_dict.h:373:3: note: in expansion of macro ‘TORCH_CHECK’
TORCH_CHECK(
^~~~~~~~~~~
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/Exception.h:351:28: note: candidate: const char* c10::detail::torchCheckMsgImpl(const char*)
inline C10_API const char* torchCheckMsgImpl(const char* msg) {
                         ^~~~~~~~~~~~~~~~~
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/Exception.h:351:28: note:   candidate expects 1 argument, 5 provided
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/Exception.h:355:28: note: candidate: const char* c10::detail::torchCheckMsgImpl(const char*, const char*)
inline C10_API const char* torchCheckMsgImpl(
                         ^~~~~~~~~~~~~~~~~
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/Exception.h:355:28: note:   candidate expects 2 arguments, 5 provided
In file included from /root/miniconda3/lib/python3.8/site-packages/torch/include/c10/core/Scalar.h:13:0,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/ATen/core/TensorBody.h:8,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/ATen/Tensor.h:3,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/ATen/Context.h:4,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/ATen/ATen.h:9,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/types.h:3,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader_options.h:4,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/base.h:3,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/stateful.h:3,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader.h:3,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data.h:3,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/all.h:8,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/torch.h:3,
              from correlation_cuda.cc:1:
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/TypeCast.h: In instantiation of ‘static dest_t c10::static_cast_with_inter_type<dest_t, src_t>::apply(src_t) [with dest_t = c10::complex<double>; src_t = c10::complex<float>]’:
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/TypeCast.h:173:54:   required from ‘To c10::convert(From) [with To = c10::complex<double>; From = c10::complex<float>]’
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/core/Scalar.h:172:36:   required from ‘c10::Scalar::Scalar(T, bool) [with T = c10::complex<float>; typename std::enable_if<c10::is_complex<T>::value, bool>::type* <anonymous> = 0]’
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/core/Scalar.h:33:3:   required from here
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/TypeCast.h:40:12: error: no matching function for call to ‘c10::complex<double>::complex(c10::complex<float>)’
  return static_cast<dest_t>(maybe_real<real, src_t>::apply(src));
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/Half.h:14:0,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/c10/core/ScalarType.h:5,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/c10/core/Scalar.h:10,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/ATen/core/TensorBody.h:8,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/ATen/Tensor.h:3,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/ATen/Context.h:4,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/ATen/ATen.h:9,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/types.h:3,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader_options.h:4,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/base.h:3,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/stateful.h:3,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader.h:3,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data.h:3,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/all.h:8,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/torch.h:3,
              from correlation_cuda.cc:1:
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/complex.h:163:38: note: candidate: template<class U> constexpr c10::complex<T>::complex(int)
C10_HOST_DEVICE explicit constexpr complex(
                                   ^~~~~~~
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/complex.h:163:38: note:   template argument deduction/substitution failed:
In file included from /root/miniconda3/lib/python3.8/site-packages/torch/include/c10/core/Scalar.h:13:0,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/ATen/core/TensorBody.h:8,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/ATen/Tensor.h:3,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/ATen/Context.h:4,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/ATen/ATen.h:9,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/types.h:3,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader_options.h:4,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/base.h:3,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/stateful.h:3,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader.h:3,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data.h:3,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/all.h:8,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/torch.h:3,
              from correlation_cuda.cc:1:
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/TypeCast.h:40:62: note:   cannot convert ‘c10::maybe_real<false, c10::complex<float> >::apply(src)’ (type ‘c10::complex<float>’) to type ‘int’
  return static_cast<dest_t>(maybe_real<real, src_t>::apply(src));
                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
In file included from /root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/Half.h:14:0,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/c10/core/ScalarType.h:5,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/c10/core/Scalar.h:10,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/ATen/core/TensorBody.h:8,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/ATen/Tensor.h:3,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/ATen/Context.h:4,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/ATen/ATen.h:9,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/types.h:3,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader_options.h:4,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/base.h:3,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/stateful.h:3,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader.h:3,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data.h:3,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/all.h:8,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/torch.h:3,
              from correlation_cuda.cc:1:
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/complex.h:149:22: note: candidate: template<class U> constexpr c10::complex<T>::complex(const std::complex<_Up>&)
explicit constexpr complex(const std::complex<U>& other)
                   ^~~~~~~
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/complex.h:149:22: note:   template argument deduction/substitution failed:
In file included from /root/miniconda3/lib/python3.8/site-packages/torch/include/c10/core/Scalar.h:13:0,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/ATen/core/TensorBody.h:8,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/ATen/Tensor.h:3,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/ATen/Context.h:4,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/ATen/ATen.h:9,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/types.h:3,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader_options.h:4,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/base.h:3,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/stateful.h:3,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader.h:3,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data.h:3,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/all.h:8,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/torch.h:3,
              from correlation_cuda.cc:1:
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/TypeCast.h:40:12: note:   ‘c10::complex<float>’ is not derived from ‘const std::complex<_Tp>’
  return static_cast<dest_t>(maybe_real<real, src_t>::apply(src));
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/Half.h:14:0,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/c10/core/ScalarType.h:5,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/c10/core/Scalar.h:10,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/ATen/core/TensorBody.h:8,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/ATen/Tensor.h:3,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/ATen/Context.h:4,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/ATen/ATen.h:9,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/types.h:3,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader_options.h:4,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/base.h:3,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/stateful.h:3,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader.h:3,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data.h:3,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/all.h:8,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/torch.h:3,
              from correlation_cuda.cc:1:
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/complex.h:146:29: note: candidate: constexpr c10::complex<T>::complex(const T&, const T&) [with T = double]
C10_HOST_DEVICE constexpr complex(const T& re, const T& im = T())
                          ^~~~~~~
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/complex.h:146:29: note:   no known conversion for argument 1 from ‘c10::complex<float>’ to ‘const double’
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/complex.h:145:13: note: candidate: constexpr c10::complex<T>::complex() [with T = double]
constexpr complex() = default;
          ^~~~~~~
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/complex.h:145:13: note:   candidate expects 0 arguments, 1 provided
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/complex.h:139:31: note: candidate: constexpr c10::complex<double>::complex(const c10::complex<double>&)
struct alignas(sizeof(T) * 2) complex {
                            ^~~~~~~
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/complex.h:139:31: note:   no known conversion for argument 1 from ‘c10::complex<float>’ to ‘const c10::complex<double>&’
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/complex.h:139:31: note: candidate: constexpr c10::complex<double>::complex(c10::complex<double>&&)
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/complex.h:139:31: note:   no known conversion for argument 1 from ‘c10::complex<float>’ to ‘c10::complex<double>&&’
In file included from /root/miniconda3/lib/python3.8/site-packages/torch/include/c10/core/Scalar.h:13:0,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/ATen/core/TensorBody.h:8,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/ATen/Tensor.h:3,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/ATen/Context.h:4,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/ATen/ATen.h:9,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/types.h:3,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader_options.h:4,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/base.h:3,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/stateful.h:3,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader.h:3,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data.h:3,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/all.h:8,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/torch.h:3,
              from correlation_cuda.cc:1:
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/TypeCast.h: In instantiation of ‘static uint8_t c10::static_cast_with_inter_type<unsigned char, src_t>::apply(src_t) [with src_t = c10::complex<double>; uint8_t = unsigned char]’:
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/TypeCast.h:173:54:   required from ‘To c10::convert(From) [with To = unsigned char; From = c10::complex<double>]’
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/TypeCast.h:186:27:   required from ‘To c10::checked_convert(From, const char*) [with To = unsigned char; From = c10::complex<double>]’
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/core/Scalar.h:63:3:   required from here
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/TypeCast.h:59:60: error: ‘apply’ is not a member of ‘c10::maybe_real<true, c10::complex<double> >’
      static_cast<int64_t>(maybe_real<real, src_t>::apply(src)));
                           ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/TypeCast.h: In instantiation of ‘static dest_t c10::static_cast_with_inter_type<dest_t, src_t>::apply(src_t) [with dest_t = signed char; src_t = c10::complex<double>]’:
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/TypeCast.h:173:54:   required from ‘To c10::convert(From) [with To = signed char; From = c10::complex<double>]’
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/TypeCast.h:186:27:   required from ‘To c10::checked_convert(From, const char*) [with To = signed char; From = c10::complex<double>]’
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/core/Scalar.h:63:3:   required from here
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/TypeCast.h:40:62: error: ‘apply’ is not a member of ‘c10::maybe_real<true, c10::complex<double> >’
  return static_cast<dest_t>(maybe_real<real, src_t>::apply(src));
                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/TypeCast.h: In instantiation of ‘static dest_t c10::static_cast_with_inter_type<dest_t, src_t>::apply(src_t) [with dest_t = short int; src_t = c10::complex<double>]’:
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/TypeCast.h:173:54:   required from ‘To c10::convert(From) [with To = short int; From = c10::complex<double>]’
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/TypeCast.h:186:27:   required from ‘To c10::checked_convert(From, const char*) [with To = short int; From = c10::complex<double>]’
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/core/Scalar.h:63:3:   required from here
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/TypeCast.h:40:62: error: ‘apply’ is not a member of ‘c10::maybe_real<true, c10::complex<double> >’
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/TypeCast.h: In instantiation of ‘static dest_t c10::static_cast_with_inter_type<dest_t, src_t>::apply(src_t) [with dest_t = int; src_t = c10::complex<double>]’:
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/TypeCast.h:173:54:   required from ‘To c10::convert(From) [with To = int; From = c10::complex<double>]’
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/TypeCast.h:186:27:   required from ‘To c10::checked_convert(From, const char*) [with To = int; From = c10::complex<double>]’
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/core/Scalar.h:63:3:   required from here
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/TypeCast.h:40:62: error: ‘apply’ is not a member of ‘c10::maybe_real<true, c10::complex<double> >’
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/TypeCast.h: In instantiation of ‘static dest_t c10::static_cast_with_inter_type<dest_t, src_t>::apply(src_t) [with dest_t = long int; src_t = c10::complex<double>]’:
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/TypeCast.h:173:54:   required from ‘To c10::convert(From) [with To = long int; From = c10::complex<double>]’
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/TypeCast.h:186:27:   required from ‘To c10::checked_convert(From, const char*) [with To = long int; From = c10::complex<double>]’
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/core/Scalar.h:63:3:   required from here
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/TypeCast.h:40:62: error: ‘apply’ is not a member of ‘c10::maybe_real<true, c10::complex<double> >’
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/TypeCast.h: In instantiation of ‘static dest_t c10::static_cast_with_inter_type<dest_t, src_t>::apply(src_t) [with dest_t = c10::Half; src_t = c10::complex<double>]’:
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/TypeCast.h:173:54:   required from ‘To c10::convert(From) [with To = c10::Half; From = c10::complex<double>]’
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/TypeCast.h:186:27:   required from ‘To c10::checked_convert(From, const char*) [with To = c10::Half; From = c10::complex<double>]’
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/core/Scalar.h:63:3:   required from here
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/TypeCast.h:40:62: error: ‘apply’ is not a member of ‘c10::maybe_real<true, c10::complex<double> >’
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/TypeCast.h: In instantiation of ‘static dest_t c10::static_cast_with_inter_type<dest_t, src_t>::apply(src_t) [with dest_t = float; src_t = c10::complex<double>]’:
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/TypeCast.h:173:54:   required from ‘To c10::convert(From) [with To = float; From = c10::complex<double>]’
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/TypeCast.h:186:27:   required from ‘To c10::checked_convert(From, const char*) [with To = float; From = c10::complex<double>]’
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/core/Scalar.h:63:3:   required from here
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/TypeCast.h:40:62: error: ‘apply’ is not a member of ‘c10::maybe_real<true, c10::complex<double> >’
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/TypeCast.h: In instantiation of ‘static dest_t c10::static_cast_with_inter_type<dest_t, src_t>::apply(src_t) [with dest_t = double; src_t = c10::complex<double>]’:
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/TypeCast.h:173:54:   required from ‘To c10::convert(From) [with To = double; From = c10::complex<double>’
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/TypeCast.h:186:27:   required from ‘To c10::checked_convert(From, const char*) [with To = double; From = c10::complex<double>]’
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/core/Scalar.h:63:3:   required from here
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/TypeCast.h:40:62: error: ‘apply’ is not a member of ‘c10::maybe_real<true, c10::complex<double> >’
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/TypeCast.h: In instantiation of ‘static dest_t c10::static_cast_with_inter_type<dest_t, src_t>::apply(src_t) [with dest_t = c10::complex<float>; src_t = c10::complex<double>]’:
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/TypeCast.h:173:54:   required from ‘To c10::convert(From) [with To = c10::complex<float>; From = c10::complex<double>]’
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/TypeCast.h:186:27:   required from ‘To c10::checked_convert(From, const char*) [with To = c10::complex<float>; From = c10::complex<double>]’
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/core/Scalar.h:63:3:   required from here
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/TypeCast.h:40:12: error: no matching function for call to ‘c10::complex<float>::complex(c10::complex<double>)’
  return static_cast<dest_t>(maybe_real<real, src_t>::apply(src));
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/Half.h:14:0,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/c10/core/ScalarType.h:5,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/c10/core/Scalar.h:10,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/ATen/core/TensorBody.h:8,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/ATen/Tensor.h:3,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/ATen/Context.h:4,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/ATen/ATen.h:9,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/types.h:3,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader_options.h:4,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/base.h:3,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/stateful.h:3,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader.h:3,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data.h:3,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/all.h:8,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/torch.h:3,
              from correlation_cuda.cc:1:
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/complex.h:163:38: note: candidate: template<class U> constexpr c10::complex<T>::complex(int)
C10_HOST_DEVICE explicit constexpr complex(
                                   ^~~~~~~
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/complex.h:163:38: note:   template argument deduction/substitution failed:
In file included from /root/miniconda3/lib/python3.8/site-packages/torch/include/c10/core/Scalar.h:13:0,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/ATen/core/TensorBody.h:8,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/ATen/Tensor.h:3,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/ATen/Context.h:4,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/ATen/ATen.h:9,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/types.h:3,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader_options.h:4,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/base.h:3,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/stateful.h:3,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader.h:3,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data.h:3,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/all.h:8,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/torch.h:3,
              from correlation_cuda.cc:1:
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/TypeCast.h:40:62: note:   cannot convert ‘c10::maybe_real<false, c10::complex<double> >::apply(src)’ (type ‘c10::complex<double>’) to type ‘int’
  return static_cast<dest_t>(maybe_real<real, src_t>::apply(src));
                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
In file included from /root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/Half.h:14:0,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/c10/core/ScalarType.h:5,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/c10/core/Scalar.h:10,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/ATen/core/TensorBody.h:8,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/ATen/Tensor.h:3,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/ATen/Context.h:4,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/ATen/ATen.h:9,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/types.h:3,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader_options.h:4,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/base.h:3,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/stateful.h:3,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader.h:3,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data.h:3,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/all.h:8,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/torch.h:3,
              from correlation_cuda.cc:1:
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/complex.h:149:22: note: candidate: template<class U> constexpr c10::complex<T>::complex(const std::complex<_Up>&)
explicit constexpr complex(const std::complex<U>& other)
                   ^~~~~~~
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/complex.h:149:22: note:   template argument deduction/substitution failed:
In file included from /root/miniconda3/lib/python3.8/site-packages/torch/include/c10/core/Scalar.h:13:0,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/ATen/core/TensorBody.h:8,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/ATen/Tensor.h:3,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/ATen/Context.h:4,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/ATen/ATen.h:9,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/types.h:3,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader_options.h:4,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/base.h:3,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/stateful.h:3,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader.h:3,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data.h:3,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/all.h:8,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/torch.h:3,
              from correlation_cuda.cc:1:
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/TypeCast.h:40:12: note:   ‘c10::complex<double>’ is not derived from ‘const std::complex<_Tp>’
  return static_cast<dest_t>(maybe_real<real, src_t>::apply(src));
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/Half.h:14:0,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/c10/core/ScalarType.h:5,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/c10/core/Scalar.h:10,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/ATen/core/TensorBody.h:8,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/ATen/Tensor.h:3,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/ATen/Context.h:4,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/ATen/ATen.h:9,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/types.h:3,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader_options.h:4,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/base.h:3,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/stateful.h:3,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader.h:3,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data.h:3,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/all.h:8,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/torch.h:3,
              from correlation_cuda.cc:1:
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/complex.h:146:29: note: candidate: constexpr c10::complex<T>::complex(const T&, const T&) [with T = float]
C10_HOST_DEVICE constexpr complex(const T& re, const T& im = T())
                          ^~~~~~~
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/complex.h:146:29: note:   no known conversion for argument 1 from ‘c10::complex<double>’ to ‘const float’
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/complex.h:145:13: note: candidate: constexpr c10::complex<T>::complex() [with T = float]
constexpr complex() = default;
          ^~~~~~~
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/complex.h:145:13: note:   candidate expects 0 arguments, 1 provided
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/complex.h:139:31: note: candidate: constexpr c10::complex<float>::complex(const c10::complex<float>&)
struct alignas(sizeof(T) * 2) complex {
                            ^~~~~~~
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/complex.h:139:31: note:   no known conversion for argument 1 from ‘c10::complex<double>’ to ‘const c10::complex<float>&’
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/complex.h:139:31: note: candidate: constexpr c10::complex<float>::complex(c10::complex<float>&&)
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/complex.h:139:31: note:   no known conversion for argument 1 from ‘c10::complex<double>’ to ‘c10::complex<float>&&’
In file included from /root/miniconda3/lib/python3.8/site-packages/torch/include/c10/core/Scalar.h:13:0,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/ATen/core/TensorBody.h:8,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/ATen/Tensor.h:3,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/ATen/Context.h:4,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/ATen/ATen.h:9,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/types.h:3,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader_options.h:4,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/base.h:3,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/stateful.h:3,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader.h:3,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data.h:3,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/all.h:8,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/torch.h:3,
              from correlation_cuda.cc:1:
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/TypeCast.h: In instantiation of ‘static dest_t c10::static_cast_with_inter_type<dest_t, src_t>::apply(src_t) [with dest_t = bool; src_t = c10::complex<double>]’:
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/TypeCast.h:173:54:   required from ‘To c10::convert(From) [with To = bool; From = c10::complex<double>]’
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/TypeCast.h:186:27:   required from ‘To c10::checked_convert(From, const char*) [with To = bool; From = c10::complex<double>]’
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/core/Scalar.h:63:3:   required from here
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/TypeCast.h:40:62: error: ‘apply’ is not a member of ‘c10::maybe_real<true, c10::complex<double> >’
  return static_cast<dest_t>(maybe_real<real, src_t>::apply(src));
                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/TypeCast.h: In instantiation of ‘static dest_t c10::static_cast_with_inter_type<dest_t, src_t>::apply(src_t) [with dest_t = c10::BFloat16; src_t = c10::complex<double>]’:
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/TypeCast.h:173:54:   required from ‘To c10::convert(From) [with To = c10::BFloat16; From = c10::complex<double>]’
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/TypeCast.h:186:27:   required from ‘To c10::checked_convert(From, const char*) [with To = c10::BFloat16; From = c10::complex<double>]’
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/core/Scalar.h:63:3:   required from here
/root/miniconda3/lib/python3.8/site-packages/torch/include/c10/util/TypeCast.h:40:62: error: ‘apply’ is not a member of ‘c10::maybe_real<true, c10::complex<double> >’
In file included from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/jit/api/module.h:13:0,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/serialize/input-archive.h:7,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/serialize/archive.h:3,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/samplers/serialize.h:4,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/samplers.h:8,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/datasets/chunk.h:6,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/datasets.h:4,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data.h:4,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/all.h:8,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/torch.h:3,
              from correlation_cuda.cc:1:
/root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/ordered_dict.h: In member function ‘Value& torch::OrderedDict<Key, Value>::operator[](const Key&) [with Key = std::basic_string<char>; Value = std::shared_ptr<torch::nn::Module>]’:
/root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/ordered_dict.h:360:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
In file included from /root/miniconda3/lib/python3.8/site-packages/torch/include/ATen/core/List_inl.h:362:0,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/ATen/core/List.h:480,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/ATen/core/ivalue_inl.h:8,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/ATen/core/ivalue.h:1175,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/ATen/record_function.h:3,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/ATen/Dispatch.h:5,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/ATen/ATen.h:13,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/types.h:3,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader_options.h:4,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/base.h:3,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader/stateful.h:3,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data/dataloader.h:3,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/data.h:3,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/all.h:8,
              from /root/miniconda3/lib/python3.8/site-packages/torch/include/torch/csrc/api/include/torch/torch.h:3,
              from correlation_cuda.cc:1:
/root/miniconda3/lib/python3.8/site-packages/torch/include/ATen/core/jit_type.h: In static member function ‘static c10::DictTypePtr c10::DictType::create(c10::TypePtr, c10::TypePtr)’:
/root/miniconda3/lib/python3.8/site-packages/torch/include/ATen/core/jit_type.h:747:3: warning: control reaches end of non-void function [-Wreturn-type]
}
^
error: command 'gcc' failed with exit status 1

Do not run python setup.py build, and follow Higher CUDA and PyTorch versions Support.