#include #include #include "cpu/graclus_cpu.h" #ifdef WITH_HIP #include "hip/graclus_hip.h" #endif #ifdef _WIN32 #ifdef WITH_HIP PyMODINIT_FUNC PyInit__graclus_cuda(void) { return NULL; } #else PyMODINIT_FUNC PyInit__graclus_cpu(void) { return NULL; } #endif #endif torch::Tensor graclus(torch::Tensor rowptr, torch::Tensor col, torch::optional optional_weight) { if (rowptr.device().is_cuda()) { #ifdef WITH_HIP return graclus_cuda(rowptr, col, optional_weight); #else AT_ERROR("Not compiled with CUDA support"); #endif } else { return graclus_cpu(rowptr, col, optional_weight); } } static auto registry = torch::RegisterOperators().op("torch_cluster::graclus", &graclus);