qinzheng93 / GeoTransformer

[CVPR2022] Geometric Transformer for Fast and Robust Point Cloud Registration
MIT License
665 stars 70 forks source link

RuntimeError: CUDA error: operation not supported when calling `cusparseCreate(handle)` #111

Open Wayne3521 opened 5 months ago

Wayne3521 commented 5 months ago

According to the Readme: Ubuntu 20.04, GCC 9.3.0, Python 3.8, PyTorch 1.7.1, CUDA 11.1 and cuDNN 8.1.0.torch==1.7.1+cu110, the following problems occur:

Traceback (most recent call last): File "trainval.py", line 62, in main() File "trainval.py", line 58, in main trainer.run() File "/home/wl/code/GeoTransformer/geotransformer/engine/epoch_based_trainer.py", line 180, in run self.train_epoch() File "/home/wl/code/GeoTransformer/geotransformer/engine/epoch_based_trainer.py", line 95, in train_epoch output_dict, result_dict = self.train_step(self.epoch, self.inner_iteration, data_dict) File "trainval.py", line 41, in train_step output_dict = self.model(data_dict) File "/home/wl/anaconda3/envs/geotransformer/lib/python3.8/site-packages/torch/nn/modules/module.py", line 727, in _call_impl result = self.forward(*input, kwargs) File "/home/wl/code/GeoTransformer/experiments/geotransformer.3dmatch.stage4.gse.k3.max.oacl.stage2.sinkhorn/model.py", line 198, in forward ref_corr_points, src_corr_points, corr_scores, estimated_transform = self.fine_matching( File "/home/wl/anaconda3/envs/geotransformer/lib/python3.8/site-packages/torch/nn/modules/module.py", line 727, in _call_impl result = self.forward(*input, *kwargs) File "/home/wl/code/GeoTransformer/geotransformer/modules/geotransformer/local_global_registration.py", line 231, in forward ref_corr_points, src_corr_points, corr_scores, estimated_transform = self.local_to_global_registration( File "/home/wl/code/GeoTransformer/geotransformer/modules/geotransformer/local_global_registration.py", line 171, in local_to_global_registration batch_transforms = self.procrustes(batch_src_corr_points, batch_ref_corr_points, batch_corr_scores) File "/home/wl/anaconda3/envs/geotransformer/lib/python3.8/site-packages/torch/nn/modules/module.py", line 727, in _call_impl result = self.forward(input, kwargs) File "/home/wl/code/GeoTransformer/geotransformer/modules/registration/procrustes.py", line 84, in forward return weighted_procrustes( File "/home/wl/code/GeoTransformer/geotransformer/modules/registration/procrustes.py", line 56, in weighted_procrustes eye[:, -1, -1] = torch.sign(torch.det(V @ Ut)) RuntimeError: CUDA error: operation not supported when calling cusparseCreate(handle)

zhuozhizhong commented 5 months ago

I meet the same question

Wayne3521 commented 5 months ago

I haven't solved it yet

Launch-on-Titania commented 5 months ago

Generally, this issue is likely caused by your graphics card's CUDA and Torch versions being too old. In my case, using a 4090 with CUDA 11.6 and torch 1.12 resolved the error.

zhuozhizhong commented 5 months ago

I haven't solved it yet

I solved this issue and didn't change my envirment setting.

    det = torch.det(V.cpu() @ Ut.cpu())
    eye[:, -1, -1] = torch.sign(det.cuda())