PyTorch 2.x 이후 버전에서는 THC(Torch CUDA)와 관련된 헤더 파일이 대규모 리팩토링으로 인해 더 이상 제공되지 않거나 이름이 변경됨
THC 헤더는 주로 PyTorch의 내부 구현에 사용되던 것으로, 최신 버전에서는 ATen과 c10으로 대체됨
그래서.. 기존 THC에서 제공한 코드를 모두 수정해야함
#include <THC/THC.h> ==> #include <ATen/ATen.h>
#include <THC/THCAtomics.cuh> ==> #include <ATen/cuda/Atomic.cuh>
#include <THC/THCDeviceUtils.cuh> ==> #include <ATen/cuda/DeviceUtils.cuh>
THCudaCheck(cudaGetLastError()); ==> AT_CUDA_CHECK(cudaGetLastError());
THCCeilDiv(output_size, 512L) ==> (output_size + 512L - 1) / 512L (형태만 기억하자)
THCudaMalloc(&ptr, size) ==> cudaMalloc(&ptr, size)
THCudaFree(&ptr, size) ==> cudaFree(size)
THCState *state = at::globalContext().lazyInitCUDA();
==> at::cuda::CUDAStream state = at::cuda::getCurrentCUDAStream(); (#include <torch/torch.h> 추가)
생각보다 금방할 수 있음