Point cloud upsampling

!git clone https://github.com/lanshui98/UniST.git
%cd UniST
Cloning into 'UniST'...
remote: Enumerating objects: 258, done.
remote: Counting objects: 100% (258/258), done.
remote: Compressing objects: 100% (223/223), done.
remote: Total 258 (delta 73), reused 188 (delta 30), pack-reused 0 (from 0)
Receiving objects: 100% (258/258), 7.39 MiB | 14.30 MiB/s, done.
Resolving deltas: 100% (73/73), done.
/content/UniST
!pip install -r requirements.txt
Requirement already satisfied: torch>=1.8.0 in /usr/local/lib/python3.12/dist-packages (from -r requirements.txt (line 5)) (2.9.0+cu126)
Requirement already satisfied: einops==0.7.0 in /usr/local/lib/python3.12/dist-packages (from -r requirements.txt (line 6)) (0.7.0)
Requirement already satisfied: tensorflow>=2.16.0 in /usr/local/lib/python3.12/dist-packages (from -r requirements.txt (line 7)) (2.19.0)
Requirement already satisfied: numpy>=1.19.0 in /usr/local/lib/python3.12/dist-packages (from -r requirements.txt (line 10)) (2.0.2)
Requirement already satisfied: scipy>=1.5.0 in /usr/local/lib/python3.12/dist-packages (from -r requirements.txt (line 11)) (1.16.3)
Requirement already satisfied: scikit-learn>=1.6.0 in /usr/local/lib/python3.12/dist-packages (from -r requirements.txt (line 12)) (1.6.1)
Requirement already satisfied: pandas>=1.0.0 in /usr/local/lib/python3.12/dist-packages (from -r requirements.txt (line 15)) (2.2.2)
Requirement already satisfied: anndata>=0.8.0 in /usr/local/lib/python3.12/dist-packages (from -r requirements.txt (line 16)) (0.12.10)
Requirement already satisfied: h5py in /usr/local/lib/python3.12/dist-packages (from -r requirements.txt (line 17)) (3.15.1)
Requirement already satisfied: open3d>=0.13.0 in /usr/local/lib/python3.12/dist-packages (from -r requirements.txt (line 20)) (0.19.0)
Requirement already satisfied: pyvista>=0.40.0 in /usr/local/lib/python3.12/dist-packages (from -r requirements.txt (line 21)) (0.46.5)
Requirement already satisfied: imageio in /usr/local/lib/python3.12/dist-packages (from -r requirements.txt (line 24)) (2.37.2)
Requirement already satisfied: pillow in /usr/local/lib/python3.12/dist-packages (from -r requirements.txt (line 25)) (11.3.0)
Requirement already satisfied: tifffile in /usr/local/lib/python3.12/dist-packages (from -r requirements.txt (line 26)) (2026.1.28)
Requirement already satisfied: tqdm in /usr/local/lib/python3.12/dist-packages (from -r requirements.txt (line 29)) (4.67.2)
Requirement already satisfied: natsort in /usr/local/lib/python3.12/dist-packages (from -r requirements.txt (line 30)) (8.4.0)
Requirement already satisfied: ninja in /usr/local/lib/python3.12/dist-packages (from -r requirements.txt (line 31)) (1.13.0)
Requirement already satisfied: filelock in /usr/local/lib/python3.12/dist-packages (from torch>=1.8.0->-r requirements.txt (line 5)) (3.20.3)
Requirement already satisfied: typing-extensions>=4.10.0 in /usr/local/lib/python3.12/dist-packages (from torch>=1.8.0->-r requirements.txt (line 5)) (4.15.0)
Requirement already satisfied: setuptools in /usr/local/lib/python3.12/dist-packages (from torch>=1.8.0->-r requirements.txt (line 5)) (75.2.0)
Requirement already satisfied: sympy>=1.13.3 in /usr/local/lib/python3.12/dist-packages (from torch>=1.8.0->-r requirements.txt (line 5)) (1.14.0)
Requirement already satisfied: networkx>=2.5.1 in /usr/local/lib/python3.12/dist-packages (from torch>=1.8.0->-r requirements.txt (line 5)) (3.6.1)
Requirement already satisfied: jinja2 in /usr/local/lib/python3.12/dist-packages (from torch>=1.8.0->-r requirements.txt (line 5)) (3.1.6)
Requirement already satisfied: fsspec>=0.8.5 in /usr/local/lib/python3.12/dist-packages (from torch>=1.8.0->-r requirements.txt (line 5)) (2025.3.0)
Requirement already satisfied: nvidia-cuda-nvrtc-cu12==12.6.77 in /usr/local/lib/python3.12/dist-packages (from torch>=1.8.0->-r requirements.txt (line 5)) (12.6.77)
Requirement already satisfied: nvidia-cuda-runtime-cu12==12.6.77 in /usr/local/lib/python3.12/dist-packages (from torch>=1.8.0->-r requirements.txt (line 5)) (12.6.77)
Requirement already satisfied: nvidia-cuda-cupti-cu12==12.6.80 in /usr/local/lib/python3.12/dist-packages (from torch>=1.8.0->-r requirements.txt (line 5)) (12.6.80)
Requirement already satisfied: nvidia-cudnn-cu12==9.10.2.21 in /usr/local/lib/python3.12/dist-packages (from torch>=1.8.0->-r requirements.txt (line 5)) (9.10.2.21)
Requirement already satisfied: nvidia-cublas-cu12==12.6.4.1 in /usr/local/lib/python3.12/dist-packages (from torch>=1.8.0->-r requirements.txt (line 5)) (12.6.4.1)
Requirement already satisfied: nvidia-cufft-cu12==11.3.0.4 in /usr/local/lib/python3.12/dist-packages (from torch>=1.8.0->-r requirements.txt (line 5)) (11.3.0.4)
Requirement already satisfied: nvidia-curand-cu12==10.3.7.77 in /usr/local/lib/python3.12/dist-packages (from torch>=1.8.0->-r requirements.txt (line 5)) (10.3.7.77)
Requirement already satisfied: nvidia-cusolver-cu12==11.7.1.2 in /usr/local/lib/python3.12/dist-packages (from torch>=1.8.0->-r requirements.txt (line 5)) (11.7.1.2)
Requirement already satisfied: nvidia-cusparse-cu12==12.5.4.2 in /usr/local/lib/python3.12/dist-packages (from torch>=1.8.0->-r requirements.txt (line 5)) (12.5.4.2)
Requirement already satisfied: nvidia-cusparselt-cu12==0.7.1 in /usr/local/lib/python3.12/dist-packages (from torch>=1.8.0->-r requirements.txt (line 5)) (0.7.1)
Requirement already satisfied: nvidia-nccl-cu12==2.27.5 in /usr/local/lib/python3.12/dist-packages (from torch>=1.8.0->-r requirements.txt (line 5)) (2.27.5)
Requirement already satisfied: nvidia-nvshmem-cu12==3.3.20 in /usr/local/lib/python3.12/dist-packages (from torch>=1.8.0->-r requirements.txt (line 5)) (3.3.20)
Requirement already satisfied: nvidia-nvtx-cu12==12.6.77 in /usr/local/lib/python3.12/dist-packages (from torch>=1.8.0->-r requirements.txt (line 5)) (12.6.77)
Requirement already satisfied: nvidia-nvjitlink-cu12==12.6.85 in /usr/local/lib/python3.12/dist-packages (from torch>=1.8.0->-r requirements.txt (line 5)) (12.6.85)
Requirement already satisfied: nvidia-cufile-cu12==1.11.1.6 in /usr/local/lib/python3.12/dist-packages (from torch>=1.8.0->-r requirements.txt (line 5)) (1.11.1.6)
Requirement already satisfied: triton==3.5.0 in /usr/local/lib/python3.12/dist-packages (from torch>=1.8.0->-r requirements.txt (line 5)) (3.5.0)
Requirement already satisfied: absl-py>=1.0.0 in /usr/local/lib/python3.12/dist-packages (from tensorflow>=2.16.0->-r requirements.txt (line 7)) (1.4.0)
Requirement already satisfied: astunparse>=1.6.0 in /usr/local/lib/python3.12/dist-packages (from tensorflow>=2.16.0->-r requirements.txt (line 7)) (1.6.3)
Requirement already satisfied: flatbuffers>=24.3.25 in /usr/local/lib/python3.12/dist-packages (from tensorflow>=2.16.0->-r requirements.txt (line 7)) (25.12.19)
Requirement already satisfied: gast!=0.5.0,!=0.5.1,!=0.5.2,>=0.2.1 in /usr/local/lib/python3.12/dist-packages (from tensorflow>=2.16.0->-r requirements.txt (line 7)) (0.7.0)
Requirement already satisfied: google-pasta>=0.1.1 in /usr/local/lib/python3.12/dist-packages (from tensorflow>=2.16.0->-r requirements.txt (line 7)) (0.2.0)
Requirement already satisfied: libclang>=13.0.0 in /usr/local/lib/python3.12/dist-packages (from tensorflow>=2.16.0->-r requirements.txt (line 7)) (18.1.1)
Requirement already satisfied: opt-einsum>=2.3.2 in /usr/local/lib/python3.12/dist-packages (from tensorflow>=2.16.0->-r requirements.txt (line 7)) (3.4.0)
Requirement already satisfied: packaging in /usr/local/lib/python3.12/dist-packages (from tensorflow>=2.16.0->-r requirements.txt (line 7)) (26.0)
Requirement already satisfied: protobuf!=4.21.0,!=4.21.1,!=4.21.2,!=4.21.3,!=4.21.4,!=4.21.5,<6.0.0dev,>=3.20.3 in /usr/local/lib/python3.12/dist-packages (from tensorflow>=2.16.0->-r requirements.txt (line 7)) (5.29.5)
Requirement already satisfied: requests<3,>=2.21.0 in /usr/local/lib/python3.12/dist-packages (from tensorflow>=2.16.0->-r requirements.txt (line 7)) (2.32.4)
Requirement already satisfied: six>=1.12.0 in /usr/local/lib/python3.12/dist-packages (from tensorflow>=2.16.0->-r requirements.txt (line 7)) (1.17.0)
Requirement already satisfied: termcolor>=1.1.0 in /usr/local/lib/python3.12/dist-packages (from tensorflow>=2.16.0->-r requirements.txt (line 7)) (3.3.0)
Requirement already satisfied: wrapt>=1.11.0 in /usr/local/lib/python3.12/dist-packages (from tensorflow>=2.16.0->-r requirements.txt (line 7)) (2.1.0)
Requirement already satisfied: grpcio<2.0,>=1.24.3 in /usr/local/lib/python3.12/dist-packages (from tensorflow>=2.16.0->-r requirements.txt (line 7)) (1.76.0)
Requirement already satisfied: tensorboard~=2.19.0 in /usr/local/lib/python3.12/dist-packages (from tensorflow>=2.16.0->-r requirements.txt (line 7)) (2.19.0)
Requirement already satisfied: keras>=3.5.0 in /usr/local/lib/python3.12/dist-packages (from tensorflow>=2.16.0->-r requirements.txt (line 7)) (3.10.0)
Requirement already satisfied: ml-dtypes<1.0.0,>=0.5.1 in /usr/local/lib/python3.12/dist-packages (from tensorflow>=2.16.0->-r requirements.txt (line 7)) (0.5.4)
Requirement already satisfied: joblib>=1.2.0 in /usr/local/lib/python3.12/dist-packages (from scikit-learn>=1.6.0->-r requirements.txt (line 12)) (1.5.3)
Requirement already satisfied: threadpoolctl>=3.1.0 in /usr/local/lib/python3.12/dist-packages (from scikit-learn>=1.6.0->-r requirements.txt (line 12)) (3.6.0)
Requirement already satisfied: python-dateutil>=2.8.2 in /usr/local/lib/python3.12/dist-packages (from pandas>=1.0.0->-r requirements.txt (line 15)) (2.9.0.post0)
Requirement already satisfied: pytz>=2020.1 in /usr/local/lib/python3.12/dist-packages (from pandas>=1.0.0->-r requirements.txt (line 15)) (2025.2)
Requirement already satisfied: tzdata>=2022.7 in /usr/local/lib/python3.12/dist-packages (from pandas>=1.0.0->-r requirements.txt (line 15)) (2025.3)
Requirement already satisfied: array-api-compat>=1.7.1 in /usr/local/lib/python3.12/dist-packages (from anndata>=0.8.0->-r requirements.txt (line 16)) (1.13.0)
Requirement already satisfied: legacy-api-wrap in /usr/local/lib/python3.12/dist-packages (from anndata>=0.8.0->-r requirements.txt (line 16)) (1.5)
Requirement already satisfied: zarr!=3.0.*,>=2.18.7 in /usr/local/lib/python3.12/dist-packages (from anndata>=0.8.0->-r requirements.txt (line 16)) (3.1.5)
Requirement already satisfied: dash>=2.6.0 in /usr/local/lib/python3.12/dist-packages (from open3d>=0.13.0->-r requirements.txt (line 20)) (4.0.0)
Requirement already satisfied: werkzeug>=3.0.0 in /usr/local/lib/python3.12/dist-packages (from open3d>=0.13.0->-r requirements.txt (line 20)) (3.1.5)
Requirement already satisfied: flask>=3.0.0 in /usr/local/lib/python3.12/dist-packages (from open3d>=0.13.0->-r requirements.txt (line 20)) (3.1.2)
Requirement already satisfied: nbformat>=5.7.0 in /usr/local/lib/python3.12/dist-packages (from open3d>=0.13.0->-r requirements.txt (line 20)) (5.10.4)
Requirement already satisfied: configargparse in /usr/local/lib/python3.12/dist-packages (from open3d>=0.13.0->-r requirements.txt (line 20)) (1.7.1)
Requirement already satisfied: ipywidgets>=8.0.4 in /usr/local/lib/python3.12/dist-packages (from open3d>=0.13.0->-r requirements.txt (line 20)) (8.1.8)
Requirement already satisfied: addict in /usr/local/lib/python3.12/dist-packages (from open3d>=0.13.0->-r requirements.txt (line 20)) (2.4.0)
Requirement already satisfied: matplotlib>=3 in /usr/local/lib/python3.12/dist-packages (from open3d>=0.13.0->-r requirements.txt (line 20)) (3.10.0)
Requirement already satisfied: pyyaml>=5.4.1 in /usr/local/lib/python3.12/dist-packages (from open3d>=0.13.0->-r requirements.txt (line 20)) (6.0.3)
Requirement already satisfied: pyquaternion in /usr/local/lib/python3.12/dist-packages (from open3d>=0.13.0->-r requirements.txt (line 20)) (0.9.9)
Requirement already satisfied: pooch in /usr/local/lib/python3.12/dist-packages (from pyvista>=0.40.0->-r requirements.txt (line 21)) (1.9.0)
Requirement already satisfied: scooby>=0.5.1 in /usr/local/lib/python3.12/dist-packages (from pyvista>=0.40.0->-r requirements.txt (line 21)) (0.11.0)
Requirement already satisfied: vtk!=9.4.0 in /usr/local/lib/python3.12/dist-packages (from pyvista>=0.40.0->-r requirements.txt (line 21)) (9.5.2)
Requirement already satisfied: wheel<1.0,>=0.23.0 in /usr/local/lib/python3.12/dist-packages (from astunparse>=1.6.0->tensorflow>=2.16.0->-r requirements.txt (line 7)) (0.46.3)
Requirement already satisfied: plotly>=5.0.0 in /usr/local/lib/python3.12/dist-packages (from dash>=2.6.0->open3d>=0.13.0->-r requirements.txt (line 20)) (5.24.1)
Requirement already satisfied: importlib-metadata in /usr/local/lib/python3.12/dist-packages (from dash>=2.6.0->open3d>=0.13.0->-r requirements.txt (line 20)) (8.7.1)
Requirement already satisfied: retrying in /usr/local/lib/python3.12/dist-packages (from dash>=2.6.0->open3d>=0.13.0->-r requirements.txt (line 20)) (1.4.2)
Requirement already satisfied: nest-asyncio in /usr/local/lib/python3.12/dist-packages (from dash>=2.6.0->open3d>=0.13.0->-r requirements.txt (line 20)) (1.6.0)
Requirement already satisfied: blinker>=1.9.0 in /usr/local/lib/python3.12/dist-packages (from flask>=3.0.0->open3d>=0.13.0->-r requirements.txt (line 20)) (1.9.0)
Requirement already satisfied: click>=8.1.3 in /usr/local/lib/python3.12/dist-packages (from flask>=3.0.0->open3d>=0.13.0->-r requirements.txt (line 20)) (8.3.1)
Requirement already satisfied: itsdangerous>=2.2.0 in /usr/local/lib/python3.12/dist-packages (from flask>=3.0.0->open3d>=0.13.0->-r requirements.txt (line 20)) (2.2.0)
Requirement already satisfied: markupsafe>=2.1.1 in /usr/local/lib/python3.12/dist-packages (from flask>=3.0.0->open3d>=0.13.0->-r requirements.txt (line 20)) (3.0.3)
Requirement already satisfied: comm>=0.1.3 in /usr/local/lib/python3.12/dist-packages (from ipywidgets>=8.0.4->open3d>=0.13.0->-r requirements.txt (line 20)) (0.2.3)
Requirement already satisfied: ipython>=6.1.0 in /usr/local/lib/python3.12/dist-packages (from ipywidgets>=8.0.4->open3d>=0.13.0->-r requirements.txt (line 20)) (7.34.0)
Requirement already satisfied: traitlets>=4.3.1 in /usr/local/lib/python3.12/dist-packages (from ipywidgets>=8.0.4->open3d>=0.13.0->-r requirements.txt (line 20)) (5.7.1)
Requirement already satisfied: widgetsnbextension~=4.0.14 in /usr/local/lib/python3.12/dist-packages (from ipywidgets>=8.0.4->open3d>=0.13.0->-r requirements.txt (line 20)) (4.0.15)
Requirement already satisfied: jupyterlab_widgets~=3.0.15 in /usr/local/lib/python3.12/dist-packages (from ipywidgets>=8.0.4->open3d>=0.13.0->-r requirements.txt (line 20)) (3.0.16)
Requirement already satisfied: rich in /usr/local/lib/python3.12/dist-packages (from keras>=3.5.0->tensorflow>=2.16.0->-r requirements.txt (line 7)) (13.9.4)
Requirement already satisfied: namex in /usr/local/lib/python3.12/dist-packages (from keras>=3.5.0->tensorflow>=2.16.0->-r requirements.txt (line 7)) (0.1.0)
Requirement already satisfied: optree in /usr/local/lib/python3.12/dist-packages (from keras>=3.5.0->tensorflow>=2.16.0->-r requirements.txt (line 7)) (0.18.0)
Requirement already satisfied: contourpy>=1.0.1 in /usr/local/lib/python3.12/dist-packages (from matplotlib>=3->open3d>=0.13.0->-r requirements.txt (line 20)) (1.3.3)
Requirement already satisfied: cycler>=0.10 in /usr/local/lib/python3.12/dist-packages (from matplotlib>=3->open3d>=0.13.0->-r requirements.txt (line 20)) (0.12.1)
Requirement already satisfied: fonttools>=4.22.0 in /usr/local/lib/python3.12/dist-packages (from matplotlib>=3->open3d>=0.13.0->-r requirements.txt (line 20)) (4.61.1)
Requirement already satisfied: kiwisolver>=1.3.1 in /usr/local/lib/python3.12/dist-packages (from matplotlib>=3->open3d>=0.13.0->-r requirements.txt (line 20)) (1.4.9)
Requirement already satisfied: pyparsing>=2.3.1 in /usr/local/lib/python3.12/dist-packages (from matplotlib>=3->open3d>=0.13.0->-r requirements.txt (line 20)) (3.3.2)
Requirement already satisfied: fastjsonschema>=2.15 in /usr/local/lib/python3.12/dist-packages (from nbformat>=5.7.0->open3d>=0.13.0->-r requirements.txt (line 20)) (2.21.2)
Requirement already satisfied: jsonschema>=2.6 in /usr/local/lib/python3.12/dist-packages (from nbformat>=5.7.0->open3d>=0.13.0->-r requirements.txt (line 20)) (4.26.0)
Requirement already satisfied: jupyter-core!=5.0.*,>=4.12 in /usr/local/lib/python3.12/dist-packages (from nbformat>=5.7.0->open3d>=0.13.0->-r requirements.txt (line 20)) (5.9.1)
Requirement already satisfied: charset_normalizer<4,>=2 in /usr/local/lib/python3.12/dist-packages (from requests<3,>=2.21.0->tensorflow>=2.16.0->-r requirements.txt (line 7)) (3.4.4)
Requirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.12/dist-packages (from requests<3,>=2.21.0->tensorflow>=2.16.0->-r requirements.txt (line 7)) (3.11)
Requirement already satisfied: urllib3<3,>=1.21.1 in /usr/local/lib/python3.12/dist-packages (from requests<3,>=2.21.0->tensorflow>=2.16.0->-r requirements.txt (line 7)) (2.5.0)
Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.12/dist-packages (from requests<3,>=2.21.0->tensorflow>=2.16.0->-r requirements.txt (line 7)) (2026.1.4)
Requirement already satisfied: mpmath<1.4,>=1.1.0 in /usr/local/lib/python3.12/dist-packages (from sympy>=1.13.3->torch>=1.8.0->-r requirements.txt (line 5)) (1.3.0)
Requirement already satisfied: markdown>=2.6.8 in /usr/local/lib/python3.12/dist-packages (from tensorboard~=2.19.0->tensorflow>=2.16.0->-r requirements.txt (line 7)) (3.10.1)
Requirement already satisfied: tensorboard-data-server<0.8.0,>=0.7.0 in /usr/local/lib/python3.12/dist-packages (from tensorboard~=2.19.0->tensorflow>=2.16.0->-r requirements.txt (line 7)) (0.7.2)
Requirement already satisfied: donfig>=0.8 in /usr/local/lib/python3.12/dist-packages (from zarr!=3.0.*,>=2.18.7->anndata>=0.8.0->-r requirements.txt (line 16)) (0.8.1.post1)
Requirement already satisfied: google-crc32c>=1.5 in /usr/local/lib/python3.12/dist-packages (from zarr!=3.0.*,>=2.18.7->anndata>=0.8.0->-r requirements.txt (line 16)) (1.8.0)
Requirement already satisfied: numcodecs>=0.14 in /usr/local/lib/python3.12/dist-packages (from zarr!=3.0.*,>=2.18.7->anndata>=0.8.0->-r requirements.txt (line 16)) (0.16.5)
Requirement already satisfied: platformdirs>=2.5.0 in /usr/local/lib/python3.12/dist-packages (from pooch->pyvista>=0.40.0->-r requirements.txt (line 21)) (4.5.1)
Requirement already satisfied: jedi>=0.16 in /usr/local/lib/python3.12/dist-packages (from ipython>=6.1.0->ipywidgets>=8.0.4->open3d>=0.13.0->-r requirements.txt (line 20)) (0.19.2)
Requirement already satisfied: decorator in /usr/local/lib/python3.12/dist-packages (from ipython>=6.1.0->ipywidgets>=8.0.4->open3d>=0.13.0->-r requirements.txt (line 20)) (4.4.2)
Requirement already satisfied: pickleshare in /usr/local/lib/python3.12/dist-packages (from ipython>=6.1.0->ipywidgets>=8.0.4->open3d>=0.13.0->-r requirements.txt (line 20)) (0.7.5)
Requirement already satisfied: prompt-toolkit!=3.0.0,!=3.0.1,<3.1.0,>=2.0.0 in /usr/local/lib/python3.12/dist-packages (from ipython>=6.1.0->ipywidgets>=8.0.4->open3d>=0.13.0->-r requirements.txt (line 20)) (3.0.52)
Requirement already satisfied: pygments in /usr/local/lib/python3.12/dist-packages (from ipython>=6.1.0->ipywidgets>=8.0.4->open3d>=0.13.0->-r requirements.txt (line 20)) (2.19.2)
Requirement already satisfied: backcall in /usr/local/lib/python3.12/dist-packages (from ipython>=6.1.0->ipywidgets>=8.0.4->open3d>=0.13.0->-r requirements.txt (line 20)) (0.2.0)
Requirement already satisfied: matplotlib-inline in /usr/local/lib/python3.12/dist-packages (from ipython>=6.1.0->ipywidgets>=8.0.4->open3d>=0.13.0->-r requirements.txt (line 20)) (0.2.1)
Requirement already satisfied: pexpect>4.3 in /usr/local/lib/python3.12/dist-packages (from ipython>=6.1.0->ipywidgets>=8.0.4->open3d>=0.13.0->-r requirements.txt (line 20)) (4.9.0)
Requirement already satisfied: attrs>=22.2.0 in /usr/local/lib/python3.12/dist-packages (from jsonschema>=2.6->nbformat>=5.7.0->open3d>=0.13.0->-r requirements.txt (line 20)) (25.4.0)
Requirement already satisfied: jsonschema-specifications>=2023.03.6 in /usr/local/lib/python3.12/dist-packages (from jsonschema>=2.6->nbformat>=5.7.0->open3d>=0.13.0->-r requirements.txt (line 20)) (2025.9.1)
Requirement already satisfied: referencing>=0.28.4 in /usr/local/lib/python3.12/dist-packages (from jsonschema>=2.6->nbformat>=5.7.0->open3d>=0.13.0->-r requirements.txt (line 20)) (0.37.0)
Requirement already satisfied: rpds-py>=0.25.0 in /usr/local/lib/python3.12/dist-packages (from jsonschema>=2.6->nbformat>=5.7.0->open3d>=0.13.0->-r requirements.txt (line 20)) (0.30.0)
Requirement already satisfied: tenacity>=6.2.0 in /usr/local/lib/python3.12/dist-packages (from plotly>=5.0.0->dash>=2.6.0->open3d>=0.13.0->-r requirements.txt (line 20)) (9.1.2)
Requirement already satisfied: zipp>=3.20 in /usr/local/lib/python3.12/dist-packages (from importlib-metadata->dash>=2.6.0->open3d>=0.13.0->-r requirements.txt (line 20)) (3.23.0)
Requirement already satisfied: markdown-it-py>=2.2.0 in /usr/local/lib/python3.12/dist-packages (from rich->keras>=3.5.0->tensorflow>=2.16.0->-r requirements.txt (line 7)) (4.0.0)
Requirement already satisfied: parso<0.9.0,>=0.8.4 in /usr/local/lib/python3.12/dist-packages (from jedi>=0.16->ipython>=6.1.0->ipywidgets>=8.0.4->open3d>=0.13.0->-r requirements.txt (line 20)) (0.8.5)
Requirement already satisfied: mdurl~=0.1 in /usr/local/lib/python3.12/dist-packages (from markdown-it-py>=2.2.0->rich->keras>=3.5.0->tensorflow>=2.16.0->-r requirements.txt (line 7)) (0.1.2)
Requirement already satisfied: ptyprocess>=0.5 in /usr/local/lib/python3.12/dist-packages (from pexpect>4.3->ipython>=6.1.0->ipywidgets>=8.0.4->open3d>=0.13.0->-r requirements.txt (line 20)) (0.7.0)
Requirement already satisfied: wcwidth in /usr/local/lib/python3.12/dist-packages (from prompt-toolkit!=3.0.0,!=3.0.1,<3.1.0,>=2.0.0->ipython>=6.1.0->ipywidgets>=8.0.4->open3d>=0.13.0->-r requirements.txt (line 20)) (0.5.3)

cuda extention

!python setup_cuda_extensions.py
============================================================
UniST CUDA Extensions Setup
============================================================
Project root: /content/UniST

Warning: TORCH_CUDA_ARCH_LIST not set.
Defaulting to architecture 8.0 (A100, RTX 3090, etc.)
For other GPUs, set TORCH_CUDA_ARCH_LIST before running:
  export TORCH_CUDA_ARCH_LIST="7.0"  # V100
  export TORCH_CUDA_ARCH_LIST="7.5"  # RTX 2080, Titan RTX
  export TORCH_CUDA_ARCH_LIST="8.0"  # A100, RTX 3090
  export TORCH_CUDA_ARCH_LIST="8.6"  # RTX 3090, A6000

============================================================
Building Chamfer3D CUDA extension...
============================================================
running install
/usr/local/lib/python3.12/dist-packages/setuptools/_distutils/cmd.py:66: SetuptoolsDeprecationWarning: setup.py install is deprecated.
!!

        ********************************************************************************
        Please avoid running ``setup.py`` directly.
        Instead, use pypa/build, pypa/installer or other
        standards-based tools.

        See https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html for details.
        ********************************************************************************

!!
  self.initialize_options()
/usr/local/lib/python3.12/dist-packages/setuptools/_distutils/cmd.py:66: EasyInstallDeprecationWarning: easy_install command is deprecated.
!!

        ********************************************************************************
        Please avoid running ``setup.py`` and ``easy_install``.
        Instead, use pypa/build, pypa/installer or other
        standards-based tools.

        See https://github.com/pypa/setuptools/issues/917 for details.
        ********************************************************************************

!!
  self.initialize_options()
running bdist_egg
running egg_info
creating chamfer_3D.egg-info
writing chamfer_3D.egg-info/PKG-INFO
writing dependency_links to chamfer_3D.egg-info/dependency_links.txt
writing top-level names to chamfer_3D.egg-info/top_level.txt
writing manifest file 'chamfer_3D.egg-info/SOURCES.txt'
reading manifest file 'chamfer_3D.egg-info/SOURCES.txt'
writing manifest file 'chamfer_3D.egg-info/SOURCES.txt'
installing library code to build/bdist.linux-x86_64/egg
running install_lib
running build_ext
W0207 02:16:01.221000 8398 torch/utils/cpp_extension.py:521] The detected CUDA version (12.5) has a minor version mismatch with the version that was used to compile PyTorch (12.6). Most likely this shouldn't be a problem.
W0207 02:16:01.221000 8398 torch/utils/cpp_extension.py:531] There are no x86_64-linux-gnu-g++ version bounds defined for CUDA version 12.5
building 'chamfer_3D' extension
creating /content/UniST/external/RepKPU_ops/models/Chamfer3D/build/temp.linux-x86_64-cpython-312/content/UniST/external/RepKPU_ops/models/Chamfer3D
[1/2] /usr/local/cuda/bin/nvcc --generate-dependencies-with-compile --dependency-output /content/UniST/external/RepKPU_ops/models/Chamfer3D/build/temp.linux-x86_64-cpython-312/content/UniST/external/RepKPU_ops/models/Chamfer3D/chamfer3D.o.d -I/usr/local/lib/python3.12/dist-packages/torch/include -I/usr/local/lib/python3.12/dist-packages/torch/include/torch/csrc/api/include -I/usr/local/cuda/include -I/usr/include/python3.12 -c -c /content/UniST/external/RepKPU_ops/models/Chamfer3D/chamfer3D.cu -o /content/UniST/external/RepKPU_ops/models/Chamfer3D/build/temp.linux-x86_64-cpython-312/content/UniST/external/RepKPU_ops/models/Chamfer3D/chamfer3D.o -D__CUDA_NO_HALF_OPERATORS__ -D__CUDA_NO_HALF_CONVERSIONS__ -D__CUDA_NO_BFLOAT16_CONVERSIONS__ -D__CUDA_NO_HALF2_OPERATORS__ --expt-relaxed-constexpr --compiler-options ''"'"'-fPIC'"'"'' -DTORCH_API_INCLUDE_EXTENSION_H -DTORCH_EXTENSION_NAME=chamfer_3D -gencode=arch=compute_89,code=compute_89 -gencode=arch=compute_89,code=sm_89 -std=c++17
/content/UniST/external/RepKPU_ops/models/Chamfer3D/chamfer3D.cu: In function ‘int chamfer_cuda_forward(at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor)’:
/content/UniST/external/RepKPU_ops/models/Chamfer3D/chamfer3D.cu:142:122: warning: ‘T* at::Tensor::data() const [with T = float]’ is deprecated: Tensor.data<T>() is deprecated. Please use Tensor.data_ptr<T>() instead. [-Wdeprecated-declarations]
  142 |         NmDistanceKernel<<<dim3(32,16,1),512>>>(batch_size, n, xyz1.data<float>(), m, xyz2.data<float>(), dist1.data<float>(), idx1.data<int>());
      |                                                                                                        ~~~~~~~~~~~~~~~~~~^~
/usr/local/lib/python3.12/dist-packages/torch/include/ATen/core/TensorBody.h:247:1: note: declared here
  247 |   T * data() const {
      | ^ ~~
/content/UniST/external/RepKPU_ops/models/Chamfer3D/chamfer3D.cu:142:147: warning: ‘T* at::Tensor::data() const [with T = float]’ is deprecated: Tensor.data<T>() is deprecated. Please use Tensor.data_ptr<T>() instead. [-Wdeprecated-declarations]
  142 |         NmDistanceKernel<<<dim3(32,16,1),512>>>(batch_size, n, xyz1.data<float>(), m, xyz2.data<float>(), dist1.data<float>(), idx1.data<int>());
      |                                                                                                                                 ~~~~~~~~~~~~~~~~~ ^ 
/usr/local/lib/python3.12/dist-packages/torch/include/ATen/core/TensorBody.h:247:1: note: declared here
  247 |   T * data() const {
      | ^ ~~
/content/UniST/external/RepKPU_ops/models/Chamfer3D/chamfer3D.cu:142:170: warning: ‘T* at::Tensor::data() const [with T = float]’ is deprecated: Tensor.data<T>() is deprecated. Please use Tensor.data_ptr<T>() instead. [-Wdeprecated-declarations]
  142 |         NmDistanceKernel<<<dim3(32,16,1),512>>>(batch_size, n, xyz1.data<float>(), m, xyz2.data<float>(), dist1.data<float>(), idx1.data<int>());
      |                                                                                                                                                                          ^ 
/usr/local/lib/python3.12/dist-packages/torch/include/ATen/core/TensorBody.h:247:1: note: declared here
  247 |   T * data() const {
      | ^ ~~
/content/UniST/external/RepKPU_ops/models/Chamfer3D/chamfer3D.cu:142:190: warning: ‘T* at::Tensor::data() const [with T = int]’ is deprecated: Tensor.data<T>() is deprecated. Please use Tensor.data_ptr<T>() instead. [-Wdeprecated-declarations]
  142 |         NmDistanceKernel<<<dim3(32,16,1),512>>>(batch_size, n, xyz1.data<float>(), m, xyz2.data<float>(), dist1.data<float>(), idx1.data<int>());
      |                                                                                                                                                                                              ^ 
/usr/local/lib/python3.12/dist-packages/torch/include/ATen/core/TensorBody.h:247:1: note: declared here
  247 |   T * data() const {
      | ^ ~~
/content/UniST/external/RepKPU_ops/models/Chamfer3D/chamfer3D.cu:143:122: warning: ‘T* at::Tensor::data() const [with T = float]’ is deprecated: Tensor.data<T>() is deprecated. Please use Tensor.data_ptr<T>() instead. [-Wdeprecated-declarations]
  143 |         NmDistanceKernel<<<dim3(32,16,1),512>>>(batch_size, m, xyz2.data<float>(), n, xyz1.data<float>(), dist2.data<float>(), idx2.data<int>());
      |                                                                                                        ~~~~~~~~~~~~~~~~~~^~
/usr/local/lib/python3.12/dist-packages/torch/include/ATen/core/TensorBody.h:247:1: note: declared here
  247 |   T * data() const {
      | ^ ~~
/content/UniST/external/RepKPU_ops/models/Chamfer3D/chamfer3D.cu:143:147: warning: ‘T* at::Tensor::data() const [with T = float]’ is deprecated: Tensor.data<T>() is deprecated. Please use Tensor.data_ptr<T>() instead. [-Wdeprecated-declarations]
  143 |         NmDistanceKernel<<<dim3(32,16,1),512>>>(batch_size, m, xyz2.data<float>(), n, xyz1.data<float>(), dist2.data<float>(), idx2.data<int>());
      |                                                                                                                                 ~~~~~~~~~~~~~~~~~ ^ 
/usr/local/lib/python3.12/dist-packages/torch/include/ATen/core/TensorBody.h:247:1: note: declared here
  247 |   T * data() const {
      | ^ ~~
/content/UniST/external/RepKPU_ops/models/Chamfer3D/chamfer3D.cu:143:170: warning: ‘T* at::Tensor::data() const [with T = float]’ is deprecated: Tensor.data<T>() is deprecated. Please use Tensor.data_ptr<T>() instead. [-Wdeprecated-declarations]
  143 |         NmDistanceKernel<<<dim3(32,16,1),512>>>(batch_size, m, xyz2.data<float>(), n, xyz1.data<float>(), dist2.data<float>(), idx2.data<int>());
      |                                                                                                                                                                          ^ 
/usr/local/lib/python3.12/dist-packages/torch/include/ATen/core/TensorBody.h:247:1: note: declared here
  247 |   T * data() const {
      | ^ ~~
/content/UniST/external/RepKPU_ops/models/Chamfer3D/chamfer3D.cu:143:190: warning: ‘T* at::Tensor::data() const [with T = int]’ is deprecated: Tensor.data<T>() is deprecated. Please use Tensor.data_ptr<T>() instead. [-Wdeprecated-declarations]
  143 |         NmDistanceKernel<<<dim3(32,16,1),512>>>(batch_size, m, xyz2.data<float>(), n, xyz1.data<float>(), dist2.data<float>(), idx2.data<int>());
      |                                                                                                                                                                                              ^ 
/usr/local/lib/python3.12/dist-packages/torch/include/ATen/core/TensorBody.h:247:1: note: declared here
  247 |   T * data() const {
      | ^ ~~
/content/UniST/external/RepKPU_ops/models/Chamfer3D/chamfer3D.cu: In function ‘int chamfer_cuda_backward(at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor, at::Tensor)’:
/content/UniST/external/RepKPU_ops/models/Chamfer3D/chamfer3D.cu:184:125: warning: ‘T* at::Tensor::data() const [with T = float]’ is deprecated: Tensor.data<T>() is deprecated. Please use Tensor.data_ptr<T>() instead. [-Wdeprecated-declarations]
  184 |         NmDistanceGradKernel<<<dim3(1,16,1),256>>>(batch_size,n,xyz1.data<float>(),m,xyz2.data<float>(),graddist1.data<float>(),idx1.data<int>(),gradxyz1.data<float>(),gradxyz2.data<float>());
      |                                                                                                           ~~~~~~~~~~~~~~~~~~^~
/usr/local/lib/python3.12/dist-packages/torch/include/ATen/core/TensorBody.h:247:1: note: declared here
  247 |   T * data() const {
      | ^ ~~
/content/UniST/external/RepKPU_ops/models/Chamfer3D/chamfer3D.cu:184:150: warning: ‘T* at::Tensor::data() const [with T = float]’ is deprecated: Tensor.data<T>() is deprecated. Please use Tensor.data_ptr<T>() instead. [-Wdeprecated-declarations]
  184 |         NmDistanceGradKernel<<<dim3(1,16,1),256>>>(batch_size,n,xyz1.data<float>(),m,xyz2.data<float>(),graddist1.data<float>(),idx1.data<int>(),gradxyz1.data<float>(),gradxyz2.data<float>());
      |                                                                                                                                    ~~~~~~~~~~~~~~~~~~^~
/usr/local/lib/python3.12/dist-packages/torch/include/ATen/core/TensorBody.h:247:1: note: declared here
  247 |   T * data() const {
      | ^ ~~
/content/UniST/external/RepKPU_ops/models/Chamfer3D/chamfer3D.cu:184:177: warning: ‘T* at::Tensor::data() const [with T = float]’ is deprecated: Tensor.data<T>() is deprecated. Please use Tensor.data_ptr<T>() instead. [-Wdeprecated-declarations]
  184 |         NmDistanceGradKernel<<<dim3(1,16,1),256>>>(batch_size,n,xyz1.data<float>(),m,xyz2.data<float>(),graddist1.data<float>(),idx1.data<int>(),gradxyz1.data<float>(),gradxyz2.data<float>());
      |                                                                                                                                                          ~~~~~~~~~~~~~~~~~~~~~~~^~
/usr/local/lib/python3.12/dist-packages/torch/include/ATen/core/TensorBody.h:247:1: note: declared here
  247 |   T * data() const {
      | ^ ~~
/content/UniST/external/RepKPU_ops/models/Chamfer3D/chamfer3D.cu:184:197: warning: ‘T* at::Tensor::data() const [with T = int]’ is deprecated: Tensor.data<T>() is deprecated. Please use Tensor.data_ptr<T>() instead. [-Wdeprecated-declarations]
  184 |         NmDistanceGradKernel<<<dim3(1,16,1),256>>>(batch_size,n,xyz1.data<float>(),m,xyz2.data<float>(),graddist1.data<float>(),idx1.data<int>(),gradxyz1.data<float>(),gradxyz2.data<float>());
      |                                                                                                                                                                                     ~~~~~~~~~~~~    ^ 
/usr/local/lib/python3.12/dist-packages/torch/include/ATen/core/TensorBody.h:247:1: note: declared here
  247 |   T * data() const {
      | ^ ~~
/content/UniST/external/RepKPU_ops/models/Chamfer3D/chamfer3D.cu:184:223: warning: ‘T* at::Tensor::data() const [with T = float]’ is deprecated: Tensor.data<T>() is deprecated. Please use Tensor.data_ptr<T>() instead. [-Wdeprecated-declarations]
  184 |         NmDistanceGradKernel<<<dim3(1,16,1),256>>>(batch_size,n,xyz1.data<float>(),m,xyz2.data<float>(),graddist1.data<float>(),idx1.data<int>(),gradxyz1.data<float>(),gradxyz2.data<float>());
      |                                                                                                                                                                                                                               ^ 
/usr/local/lib/python3.12/dist-packages/torch/include/ATen/core/TensorBody.h:247:1: note: declared here
  247 |   T * data() const {
      | ^ ~~
/content/UniST/external/RepKPU_ops/models/Chamfer3D/chamfer3D.cu:184:249: warning: ‘T* at::Tensor::data() const [with T = float]’ is deprecated: Tensor.data<T>() is deprecated. Please use Tensor.data_ptr<T>() instead. [-Wdeprecated-declarations]
  184 |         NmDistanceGradKernel<<<dim3(1,16,1),256>>>(batch_size,n,xyz1.data<float>(),m,xyz2.data<float>(),graddist1.data<float>(),idx1.data<int>(),gradxyz1.data<float>(),gradxyz2.data<float>());
      |                                                                                                                                                                                                                                                         ^ 
/usr/local/lib/python3.12/dist-packages/torch/include/ATen/core/TensorBody.h:247:1: note: declared here
  247 |   T * data() const {
      | ^ ~~
/content/UniST/external/RepKPU_ops/models/Chamfer3D/chamfer3D.cu:185:125: warning: ‘T* at::Tensor::data() const [with T = float]’ is deprecated: Tensor.data<T>() is deprecated. Please use Tensor.data_ptr<T>() instead. [-Wdeprecated-declarations]
  185 |         NmDistanceGradKernel<<<dim3(1,16,1),256>>>(batch_size,m,xyz2.data<float>(),n,xyz1.data<float>(),graddist2.data<float>(),idx2.data<int>(),gradxyz2.data<float>(),gradxyz1.data<float>());
      |                                                                                                           ~~~~~~~~~~~~~~~~~~^~
/usr/local/lib/python3.12/dist-packages/torch/include/ATen/core/TensorBody.h:247:1: note: declared here
  247 |   T * data() const {
      | ^ ~~
/content/UniST/external/RepKPU_ops/models/Chamfer3D/chamfer3D.cu:185:150: warning: ‘T* at::Tensor::data() const [with T = float]’ is deprecated: Tensor.data<T>() is deprecated. Please use Tensor.data_ptr<T>() instead. [-Wdeprecated-declarations]
  185 |         NmDistanceGradKernel<<<dim3(1,16,1),256>>>(batch_size,m,xyz2.data<float>(),n,xyz1.data<float>(),graddist2.data<float>(),idx2.data<int>(),gradxyz2.data<float>(),gradxyz1.data<float>());
      |                                                                                                                                    ~~~~~~~~~~~~~~~~~~^~
/usr/local/lib/python3.12/dist-packages/torch/include/ATen/core/TensorBody.h:247:1: note: declared here
  247 |   T * data() const {
      | ^ ~~
/content/UniST/external/RepKPU_ops/models/Chamfer3D/chamfer3D.cu:185:177: warning: ‘T* at::Tensor::data() const [with T = float]’ is deprecated: Tensor.data<T>() is deprecated. Please use Tensor.data_ptr<T>() instead. [-Wdeprecated-declarations]
  185 |         NmDistanceGradKernel<<<dim3(1,16,1),256>>>(batch_size,m,xyz2.data<float>(),n,xyz1.data<float>(),graddist2.data<float>(),idx2.data<int>(),gradxyz2.data<float>(),gradxyz1.data<float>());
      |                                                                                                                                                          ~~~~~~~~~~~~~~~~~~~~~~~^~
/usr/local/lib/python3.12/dist-packages/torch/include/ATen/core/TensorBody.h:247:1: note: declared here
  247 |   T * data() const {
      | ^ ~~
/content/UniST/external/RepKPU_ops/models/Chamfer3D/chamfer3D.cu:185:197: warning: ‘T* at::Tensor::data() const [with T = int]’ is deprecated: Tensor.data<T>() is deprecated. Please use Tensor.data_ptr<T>() instead. [-Wdeprecated-declarations]
  185 |         NmDistanceGradKernel<<<dim3(1,16,1),256>>>(batch_size,m,xyz2.data<float>(),n,xyz1.data<float>(),graddist2.data<float>(),idx2.data<int>(),gradxyz2.data<float>(),gradxyz1.data<float>());
      |                                                                                                                                                                                     ~~~~~~~~~~~~    ^ 
/usr/local/lib/python3.12/dist-packages/torch/include/ATen/core/TensorBody.h:247:1: note: declared here
  247 |   T * data() const {
      | ^ ~~
/content/UniST/external/RepKPU_ops/models/Chamfer3D/chamfer3D.cu:185:223: warning: ‘T* at::Tensor::data() const [with T = float]’ is deprecated: Tensor.data<T>() is deprecated. Please use Tensor.data_ptr<T>() instead. [-Wdeprecated-declarations]
  185 |         NmDistanceGradKernel<<<dim3(1,16,1),256>>>(batch_size,m,xyz2.data<float>(),n,xyz1.data<float>(),graddist2.data<float>(),idx2.data<int>(),gradxyz2.data<float>(),gradxyz1.data<float>());
      |                                                                                                                                                                                                                               ^ 
/usr/local/lib/python3.12/dist-packages/torch/include/ATen/core/TensorBody.h:247:1: note: declared here
  247 |   T * data() const {
      | ^ ~~
/content/UniST/external/RepKPU_ops/models/Chamfer3D/chamfer3D.cu:185:249: warning: ‘T* at::Tensor::data() const [with T = float]’ is deprecated: Tensor.data<T>() is deprecated. Please use Tensor.data_ptr<T>() instead. [-Wdeprecated-declarations]
  185 |         NmDistanceGradKernel<<<dim3(1,16,1),256>>>(batch_size,m,xyz2.data<float>(),n,xyz1.data<float>(),graddist2.data<float>(),idx2.data<int>(),gradxyz2.data<float>(),gradxyz1.data<float>());
      |                                                                                                                                                                                                                                                         ^ 
/usr/local/lib/python3.12/dist-packages/torch/include/ATen/core/TensorBody.h:247:1: note: declared here
  247 |   T * data() const {
      | ^ ~~
[2/2] c++ -MMD -MF /content/UniST/external/RepKPU_ops/models/Chamfer3D/build/temp.linux-x86_64-cpython-312/content/UniST/external/RepKPU_ops/models/Chamfer3D/chamfer_cuda.o.d -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -I/usr/local/lib/python3.12/dist-packages/torch/include -I/usr/local/lib/python3.12/dist-packages/torch/include/torch/csrc/api/include -I/usr/local/cuda/include -I/usr/include/python3.12 -c -c /content/UniST/external/RepKPU_ops/models/Chamfer3D/chamfer_cuda.cpp -o /content/UniST/external/RepKPU_ops/models/Chamfer3D/build/temp.linux-x86_64-cpython-312/content/UniST/external/RepKPU_ops/models/Chamfer3D/chamfer_cuda.o -DTORCH_API_INCLUDE_EXTENSION_H -DTORCH_EXTENSION_NAME=chamfer_3D -std=c++17
creating build/lib.linux-x86_64-cpython-312
x86_64-linux-gnu-g++ -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -g -fwrapv -O2 /content/UniST/external/RepKPU_ops/models/Chamfer3D/build/temp.linux-x86_64-cpython-312/content/UniST/external/RepKPU_ops/models/Chamfer3D/chamfer3D.o /content/UniST/external/RepKPU_ops/models/Chamfer3D/build/temp.linux-x86_64-cpython-312/content/UniST/external/RepKPU_ops/models/Chamfer3D/chamfer_cuda.o -L/usr/local/lib/python3.12/dist-packages/torch/lib -L/usr/local/cuda/lib64 -L/usr/lib/x86_64-linux-gnu -lc10 -ltorch -ltorch_cpu -ltorch_python -lcudart -lc10_cuda -ltorch_cuda -o build/lib.linux-x86_64-cpython-312/chamfer_3D.cpython-312-x86_64-linux-gnu.so
creating build/bdist.linux-x86_64/egg
copying build/lib.linux-x86_64-cpython-312/chamfer_3D.cpython-312-x86_64-linux-gnu.so -> build/bdist.linux-x86_64/egg
creating stub loader for chamfer_3D.cpython-312-x86_64-linux-gnu.so
byte-compiling build/bdist.linux-x86_64/egg/chamfer_3D.py to chamfer_3D.cpython-312.pyc
creating build/bdist.linux-x86_64/egg/EGG-INFO
copying chamfer_3D.egg-info/PKG-INFO -> build/bdist.linux-x86_64/egg/EGG-INFO
copying chamfer_3D.egg-info/SOURCES.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
copying chamfer_3D.egg-info/dependency_links.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
copying chamfer_3D.egg-info/top_level.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
writing build/bdist.linux-x86_64/egg/EGG-INFO/native_libs.txt
zip_safe flag not set; analyzing archive contents...
__pycache__.chamfer_3D.cpython-312: module references __file__
creating dist
creating 'dist/chamfer_3D-0.0.0-py3.12-linux-x86_64.egg' and adding 'build/bdist.linux-x86_64/egg' to it
removing 'build/bdist.linux-x86_64/egg' (and everything under it)
Processing chamfer_3D-0.0.0-py3.12-linux-x86_64.egg
creating /usr/local/lib/python3.12/dist-packages/chamfer_3D-0.0.0-py3.12-linux-x86_64.egg
Extracting chamfer_3D-0.0.0-py3.12-linux-x86_64.egg to /usr/local/lib/python3.12/dist-packages
Adding chamfer-3D 0.0.0 to easy-install.pth file

Installed /usr/local/lib/python3.12/dist-packages/chamfer_3D-0.0.0-py3.12-linux-x86_64.egg
Processing dependencies for chamfer-3D==0.0.0
Finished processing dependencies for chamfer-3D==0.0.0
✓ Chamfer3D extension built successfully!

============================================================
Building pointops CUDA extension...
============================================================
running install
/usr/local/lib/python3.12/dist-packages/setuptools/_distutils/cmd.py:66: SetuptoolsDeprecationWarning: setup.py install is deprecated.
!!

        ********************************************************************************
        Please avoid running ``setup.py`` directly.
        Instead, use pypa/build, pypa/installer or other
        standards-based tools.

        See https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html for details.
        ********************************************************************************

!!
  self.initialize_options()
/usr/local/lib/python3.12/dist-packages/setuptools/_distutils/cmd.py:66: EasyInstallDeprecationWarning: easy_install command is deprecated.
!!

        ********************************************************************************
        Please avoid running ``setup.py`` and ``easy_install``.
        Instead, use pypa/build, pypa/installer or other
        standards-based tools.

        See https://github.com/pypa/setuptools/issues/917 for details.
        ********************************************************************************

!!
  self.initialize_options()
running bdist_egg
running egg_info
creating pointops.egg-info
writing pointops.egg-info/PKG-INFO
writing dependency_links to pointops.egg-info/dependency_links.txt
writing top-level names to pointops.egg-info/top_level.txt
writing manifest file 'pointops.egg-info/SOURCES.txt'
reading manifest file 'pointops.egg-info/SOURCES.txt'
writing manifest file 'pointops.egg-info/SOURCES.txt'
installing library code to build/bdist.linux-x86_64/egg
running install_lib
running build_ext
W0207 02:16:40.188000 8621 torch/utils/cpp_extension.py:521] The detected CUDA version (12.5) has a minor version mismatch with the version that was used to compile PyTorch (12.6). Most likely this shouldn't be a problem.
W0207 02:16:40.188000 8621 torch/utils/cpp_extension.py:531] There are no x86_64-linux-gnu-g++ version bounds defined for CUDA version 12.5
building 'pointops_cuda' extension
creating /content/UniST/external/RepKPU_ops/models/pointops/build/temp.linux-x86_64-cpython-312/src/ballquery
creating /content/UniST/external/RepKPU_ops/models/pointops/build/temp.linux-x86_64-cpython-312/src/featuredistribute
creating /content/UniST/external/RepKPU_ops/models/pointops/build/temp.linux-x86_64-cpython-312/src/grouping
creating /content/UniST/external/RepKPU_ops/models/pointops/build/temp.linux-x86_64-cpython-312/src/grouping_int
creating /content/UniST/external/RepKPU_ops/models/pointops/build/temp.linux-x86_64-cpython-312/src/interpolation
creating /content/UniST/external/RepKPU_ops/models/pointops/build/temp.linux-x86_64-cpython-312/src/knnquery
creating /content/UniST/external/RepKPU_ops/models/pointops/build/temp.linux-x86_64-cpython-312/src/knnquery_heap
creating /content/UniST/external/RepKPU_ops/models/pointops/build/temp.linux-x86_64-cpython-312/src/labelstat
creating /content/UniST/external/RepKPU_ops/models/pointops/build/temp.linux-x86_64-cpython-312/src/sampling
[1/19] c++ -MMD -MF /content/UniST/external/RepKPU_ops/models/pointops/build/temp.linux-x86_64-cpython-312/src/grouping_int/grouping_int_cuda.o.d -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -I/usr/local/lib/python3.12/dist-packages/torch/include -I/usr/local/lib/python3.12/dist-packages/torch/include/torch/csrc/api/include -I/usr/local/cuda/include -I/usr/include/python3.12 -c -c /content/UniST/external/RepKPU_ops/models/pointops/src/grouping_int/grouping_int_cuda.cpp -o /content/UniST/external/RepKPU_ops/models/pointops/build/temp.linux-x86_64-cpython-312/src/grouping_int/grouping_int_cuda.o -g -DTORCH_API_INCLUDE_EXTENSION_H -DTORCH_EXTENSION_NAME=pointops_cuda -std=c++17
[2/19] c++ -MMD -MF /content/UniST/external/RepKPU_ops/models/pointops/build/temp.linux-x86_64-cpython-312/src/knnquery_heap/knnquery_heap_cuda.o.d -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -I/usr/local/lib/python3.12/dist-packages/torch/include -I/usr/local/lib/python3.12/dist-packages/torch/include/torch/csrc/api/include -I/usr/local/cuda/include -I/usr/include/python3.12 -c -c /content/UniST/external/RepKPU_ops/models/pointops/src/knnquery_heap/knnquery_heap_cuda.cpp -o /content/UniST/external/RepKPU_ops/models/pointops/build/temp.linux-x86_64-cpython-312/src/knnquery_heap/knnquery_heap_cuda.o -g -DTORCH_API_INCLUDE_EXTENSION_H -DTORCH_EXTENSION_NAME=pointops_cuda -std=c++17
[3/19] c++ -MMD -MF /content/UniST/external/RepKPU_ops/models/pointops/build/temp.linux-x86_64-cpython-312/src/featuredistribute/featuredistribute_cuda.o.d -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -I/usr/local/lib/python3.12/dist-packages/torch/include -I/usr/local/lib/python3.12/dist-packages/torch/include/torch/csrc/api/include -I/usr/local/cuda/include -I/usr/include/python3.12 -c -c /content/UniST/external/RepKPU_ops/models/pointops/src/featuredistribute/featuredistribute_cuda.cpp -o /content/UniST/external/RepKPU_ops/models/pointops/build/temp.linux-x86_64-cpython-312/src/featuredistribute/featuredistribute_cuda.o -g -DTORCH_API_INCLUDE_EXTENSION_H -DTORCH_EXTENSION_NAME=pointops_cuda -std=c++17
[4/19] c++ -MMD -MF /content/UniST/external/RepKPU_ops/models/pointops/build/temp.linux-x86_64-cpython-312/src/interpolation/interpolation_cuda.o.d -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -I/usr/local/lib/python3.12/dist-packages/torch/include -I/usr/local/lib/python3.12/dist-packages/torch/include/torch/csrc/api/include -I/usr/local/cuda/include -I/usr/include/python3.12 -c -c /content/UniST/external/RepKPU_ops/models/pointops/src/interpolation/interpolation_cuda.cpp -o /content/UniST/external/RepKPU_ops/models/pointops/build/temp.linux-x86_64-cpython-312/src/interpolation/interpolation_cuda.o -g -DTORCH_API_INCLUDE_EXTENSION_H -DTORCH_EXTENSION_NAME=pointops_cuda -std=c++17
[5/19] c++ -MMD -MF /content/UniST/external/RepKPU_ops/models/pointops/build/temp.linux-x86_64-cpython-312/src/ballquery/ballquery_cuda.o.d -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -I/usr/local/lib/python3.12/dist-packages/torch/include -I/usr/local/lib/python3.12/dist-packages/torch/include/torch/csrc/api/include -I/usr/local/cuda/include -I/usr/include/python3.12 -c -c /content/UniST/external/RepKPU_ops/models/pointops/src/ballquery/ballquery_cuda.cpp -o /content/UniST/external/RepKPU_ops/models/pointops/build/temp.linux-x86_64-cpython-312/src/ballquery/ballquery_cuda.o -g -DTORCH_API_INCLUDE_EXTENSION_H -DTORCH_EXTENSION_NAME=pointops_cuda -std=c++17
[6/19] c++ -MMD -MF /content/UniST/external/RepKPU_ops/models/pointops/build/temp.linux-x86_64-cpython-312/src/grouping/grouping_cuda.o.d -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -I/usr/local/lib/python3.12/dist-packages/torch/include -I/usr/local/lib/python3.12/dist-packages/torch/include/torch/csrc/api/include -I/usr/local/cuda/include -I/usr/include/python3.12 -c -c /content/UniST/external/RepKPU_ops/models/pointops/src/grouping/grouping_cuda.cpp -o /content/UniST/external/RepKPU_ops/models/pointops/build/temp.linux-x86_64-cpython-312/src/grouping/grouping_cuda.o -g -DTORCH_API_INCLUDE_EXTENSION_H -DTORCH_EXTENSION_NAME=pointops_cuda -std=c++17
[7/19] c++ -MMD -MF /content/UniST/external/RepKPU_ops/models/pointops/build/temp.linux-x86_64-cpython-312/src/knnquery/knnquery_cuda.o.d -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -I/usr/local/lib/python3.12/dist-packages/torch/include -I/usr/local/lib/python3.12/dist-packages/torch/include/torch/csrc/api/include -I/usr/local/cuda/include -I/usr/include/python3.12 -c -c /content/UniST/external/RepKPU_ops/models/pointops/src/knnquery/knnquery_cuda.cpp -o /content/UniST/external/RepKPU_ops/models/pointops/build/temp.linux-x86_64-cpython-312/src/knnquery/knnquery_cuda.o -g -DTORCH_API_INCLUDE_EXTENSION_H -DTORCH_EXTENSION_NAME=pointops_cuda -std=c++17
[8/19] c++ -MMD -MF /content/UniST/external/RepKPU_ops/models/pointops/build/temp.linux-x86_64-cpython-312/src/labelstat/labelstat_cuda.o.d -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -I/usr/local/lib/python3.12/dist-packages/torch/include -I/usr/local/lib/python3.12/dist-packages/torch/include/torch/csrc/api/include -I/usr/local/cuda/include -I/usr/include/python3.12 -c -c /content/UniST/external/RepKPU_ops/models/pointops/src/labelstat/labelstat_cuda.cpp -o /content/UniST/external/RepKPU_ops/models/pointops/build/temp.linux-x86_64-cpython-312/src/labelstat/labelstat_cuda.o -g -DTORCH_API_INCLUDE_EXTENSION_H -DTORCH_EXTENSION_NAME=pointops_cuda -std=c++17
[9/19] c++ -MMD -MF /content/UniST/external/RepKPU_ops/models/pointops/build/temp.linux-x86_64-cpython-312/src/sampling/sampling_cuda.o.d -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -I/usr/local/lib/python3.12/dist-packages/torch/include -I/usr/local/lib/python3.12/dist-packages/torch/include/torch/csrc/api/include -I/usr/local/cuda/include -I/usr/include/python3.12 -c -c /content/UniST/external/RepKPU_ops/models/pointops/src/sampling/sampling_cuda.cpp -o /content/UniST/external/RepKPU_ops/models/pointops/build/temp.linux-x86_64-cpython-312/src/sampling/sampling_cuda.o -g -DTORCH_API_INCLUDE_EXTENSION_H -DTORCH_EXTENSION_NAME=pointops_cuda -std=c++17
[10/19] /usr/local/cuda/bin/nvcc --generate-dependencies-with-compile --dependency-output /content/UniST/external/RepKPU_ops/models/pointops/build/temp.linux-x86_64-cpython-312/src/knnquery/knnquery_cuda_kernel.o.d -I/usr/local/lib/python3.12/dist-packages/torch/include -I/usr/local/lib/python3.12/dist-packages/torch/include/torch/csrc/api/include -I/usr/local/cuda/include -I/usr/include/python3.12 -c -c /content/UniST/external/RepKPU_ops/models/pointops/src/knnquery/knnquery_cuda_kernel.cu -o /content/UniST/external/RepKPU_ops/models/pointops/build/temp.linux-x86_64-cpython-312/src/knnquery/knnquery_cuda_kernel.o -D__CUDA_NO_HALF_OPERATORS__ -D__CUDA_NO_HALF_CONVERSIONS__ -D__CUDA_NO_BFLOAT16_CONVERSIONS__ -D__CUDA_NO_HALF2_OPERATORS__ --expt-relaxed-constexpr --compiler-options ''"'"'-fPIC'"'"'' -O2 -DTORCH_API_INCLUDE_EXTENSION_H -DTORCH_EXTENSION_NAME=pointops_cuda -gencode=arch=compute_89,code=compute_89 -gencode=arch=compute_89,code=sm_89 -std=c++17
/content/UniST/external/RepKPU_ops/models/pointops/src/knnquery/knnquery_cuda_kernel.cu(58): warning #177-D: variable "err" was declared but never referenced
      cudaError_t err;
                  ^

Remark: The warnings can be suppressed with "-diag-suppress <warning-number>"

[11/19] /usr/local/cuda/bin/nvcc --generate-dependencies-with-compile --dependency-output /content/UniST/external/RepKPU_ops/models/pointops/build/temp.linux-x86_64-cpython-312/src/interpolation/interpolation_cuda_kernel.o.d -I/usr/local/lib/python3.12/dist-packages/torch/include -I/usr/local/lib/python3.12/dist-packages/torch/include/torch/csrc/api/include -I/usr/local/cuda/include -I/usr/include/python3.12 -c -c /content/UniST/external/RepKPU_ops/models/pointops/src/interpolation/interpolation_cuda_kernel.cu -o /content/UniST/external/RepKPU_ops/models/pointops/build/temp.linux-x86_64-cpython-312/src/interpolation/interpolation_cuda_kernel.o -D__CUDA_NO_HALF_OPERATORS__ -D__CUDA_NO_HALF_CONVERSIONS__ -D__CUDA_NO_BFLOAT16_CONVERSIONS__ -D__CUDA_NO_HALF2_OPERATORS__ --expt-relaxed-constexpr --compiler-options ''"'"'-fPIC'"'"'' -O2 -DTORCH_API_INCLUDE_EXTENSION_H -DTORCH_EXTENSION_NAME=pointops_cuda -gencode=arch=compute_89,code=compute_89 -gencode=arch=compute_89,code=sm_89 -std=c++17
[12/19] /usr/local/cuda/bin/nvcc --generate-dependencies-with-compile --dependency-output /content/UniST/external/RepKPU_ops/models/pointops/build/temp.linux-x86_64-cpython-312/src/ballquery/ballquery_cuda_kernel.o.d -I/usr/local/lib/python3.12/dist-packages/torch/include -I/usr/local/lib/python3.12/dist-packages/torch/include/torch/csrc/api/include -I/usr/local/cuda/include -I/usr/include/python3.12 -c -c /content/UniST/external/RepKPU_ops/models/pointops/src/ballquery/ballquery_cuda_kernel.cu -o /content/UniST/external/RepKPU_ops/models/pointops/build/temp.linux-x86_64-cpython-312/src/ballquery/ballquery_cuda_kernel.o -D__CUDA_NO_HALF_OPERATORS__ -D__CUDA_NO_HALF_CONVERSIONS__ -D__CUDA_NO_BFLOAT16_CONVERSIONS__ -D__CUDA_NO_HALF2_OPERATORS__ --expt-relaxed-constexpr --compiler-options ''"'"'-fPIC'"'"'' -O2 -DTORCH_API_INCLUDE_EXTENSION_H -DTORCH_EXTENSION_NAME=pointops_cuda -gencode=arch=compute_89,code=compute_89 -gencode=arch=compute_89,code=sm_89 -std=c++17
[13/19] /usr/local/cuda/bin/nvcc --generate-dependencies-with-compile --dependency-output /content/UniST/external/RepKPU_ops/models/pointops/build/temp.linux-x86_64-cpython-312/src/grouping_int/grouping_int_cuda_kernel.o.d -I/usr/local/lib/python3.12/dist-packages/torch/include -I/usr/local/lib/python3.12/dist-packages/torch/include/torch/csrc/api/include -I/usr/local/cuda/include -I/usr/include/python3.12 -c -c /content/UniST/external/RepKPU_ops/models/pointops/src/grouping_int/grouping_int_cuda_kernel.cu -o /content/UniST/external/RepKPU_ops/models/pointops/build/temp.linux-x86_64-cpython-312/src/grouping_int/grouping_int_cuda_kernel.o -D__CUDA_NO_HALF_OPERATORS__ -D__CUDA_NO_HALF_CONVERSIONS__ -D__CUDA_NO_BFLOAT16_CONVERSIONS__ -D__CUDA_NO_HALF2_OPERATORS__ --expt-relaxed-constexpr --compiler-options ''"'"'-fPIC'"'"'' -O2 -DTORCH_API_INCLUDE_EXTENSION_H -DTORCH_EXTENSION_NAME=pointops_cuda -gencode=arch=compute_89,code=compute_89 -gencode=arch=compute_89,code=sm_89 -std=c++17
[14/19] /usr/local/cuda/bin/nvcc --generate-dependencies-with-compile --dependency-output /content/UniST/external/RepKPU_ops/models/pointops/build/temp.linux-x86_64-cpython-312/src/featuredistribute/featuredistribute_cuda_kernel.o.d -I/usr/local/lib/python3.12/dist-packages/torch/include -I/usr/local/lib/python3.12/dist-packages/torch/include/torch/csrc/api/include -I/usr/local/cuda/include -I/usr/include/python3.12 -c -c /content/UniST/external/RepKPU_ops/models/pointops/src/featuredistribute/featuredistribute_cuda_kernel.cu -o /content/UniST/external/RepKPU_ops/models/pointops/build/temp.linux-x86_64-cpython-312/src/featuredistribute/featuredistribute_cuda_kernel.o -D__CUDA_NO_HALF_OPERATORS__ -D__CUDA_NO_HALF_CONVERSIONS__ -D__CUDA_NO_BFLOAT16_CONVERSIONS__ -D__CUDA_NO_HALF2_OPERATORS__ --expt-relaxed-constexpr --compiler-options ''"'"'-fPIC'"'"'' -O2 -DTORCH_API_INCLUDE_EXTENSION_H -DTORCH_EXTENSION_NAME=pointops_cuda -gencode=arch=compute_89,code=compute_89 -gencode=arch=compute_89,code=sm_89 -std=c++17
[15/19] /usr/local/cuda/bin/nvcc --generate-dependencies-with-compile --dependency-output /content/UniST/external/RepKPU_ops/models/pointops/build/temp.linux-x86_64-cpython-312/src/grouping/grouping_cuda_kernel.o.d -I/usr/local/lib/python3.12/dist-packages/torch/include -I/usr/local/lib/python3.12/dist-packages/torch/include/torch/csrc/api/include -I/usr/local/cuda/include -I/usr/include/python3.12 -c -c /content/UniST/external/RepKPU_ops/models/pointops/src/grouping/grouping_cuda_kernel.cu -o /content/UniST/external/RepKPU_ops/models/pointops/build/temp.linux-x86_64-cpython-312/src/grouping/grouping_cuda_kernel.o -D__CUDA_NO_HALF_OPERATORS__ -D__CUDA_NO_HALF_CONVERSIONS__ -D__CUDA_NO_BFLOAT16_CONVERSIONS__ -D__CUDA_NO_HALF2_OPERATORS__ --expt-relaxed-constexpr --compiler-options ''"'"'-fPIC'"'"'' -O2 -DTORCH_API_INCLUDE_EXTENSION_H -DTORCH_EXTENSION_NAME=pointops_cuda -gencode=arch=compute_89,code=compute_89 -gencode=arch=compute_89,code=sm_89 -std=c++17
[16/19] /usr/local/cuda/bin/nvcc --generate-dependencies-with-compile --dependency-output /content/UniST/external/RepKPU_ops/models/pointops/build/temp.linux-x86_64-cpython-312/src/knnquery_heap/knnquery_heap_cuda_kernel.o.d -I/usr/local/lib/python3.12/dist-packages/torch/include -I/usr/local/lib/python3.12/dist-packages/torch/include/torch/csrc/api/include -I/usr/local/cuda/include -I/usr/include/python3.12 -c -c /content/UniST/external/RepKPU_ops/models/pointops/src/knnquery_heap/knnquery_heap_cuda_kernel.cu -o /content/UniST/external/RepKPU_ops/models/pointops/build/temp.linux-x86_64-cpython-312/src/knnquery_heap/knnquery_heap_cuda_kernel.o -D__CUDA_NO_HALF_OPERATORS__ -D__CUDA_NO_HALF_CONVERSIONS__ -D__CUDA_NO_BFLOAT16_CONVERSIONS__ -D__CUDA_NO_HALF2_OPERATORS__ --expt-relaxed-constexpr --compiler-options ''"'"'-fPIC'"'"'' -O2 -DTORCH_API_INCLUDE_EXTENSION_H -DTORCH_EXTENSION_NAME=pointops_cuda -gencode=arch=compute_89,code=compute_89 -gencode=arch=compute_89,code=sm_89 -std=c++17
[17/19] c++ -MMD -MF /content/UniST/external/RepKPU_ops/models/pointops/build/temp.linux-x86_64-cpython-312/src/pointops_api.o.d -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -fPIC -I/usr/local/lib/python3.12/dist-packages/torch/include -I/usr/local/lib/python3.12/dist-packages/torch/include/torch/csrc/api/include -I/usr/local/cuda/include -I/usr/include/python3.12 -c -c /content/UniST/external/RepKPU_ops/models/pointops/src/pointops_api.cpp -o /content/UniST/external/RepKPU_ops/models/pointops/build/temp.linux-x86_64-cpython-312/src/pointops_api.o -g -DTORCH_API_INCLUDE_EXTENSION_H -DTORCH_EXTENSION_NAME=pointops_cuda -std=c++17
[18/19] /usr/local/cuda/bin/nvcc --generate-dependencies-with-compile --dependency-output /content/UniST/external/RepKPU_ops/models/pointops/build/temp.linux-x86_64-cpython-312/src/labelstat/labelstat_cuda_kernel.o.d -I/usr/local/lib/python3.12/dist-packages/torch/include -I/usr/local/lib/python3.12/dist-packages/torch/include/torch/csrc/api/include -I/usr/local/cuda/include -I/usr/include/python3.12 -c -c /content/UniST/external/RepKPU_ops/models/pointops/src/labelstat/labelstat_cuda_kernel.cu -o /content/UniST/external/RepKPU_ops/models/pointops/build/temp.linux-x86_64-cpython-312/src/labelstat/labelstat_cuda_kernel.o -D__CUDA_NO_HALF_OPERATORS__ -D__CUDA_NO_HALF_CONVERSIONS__ -D__CUDA_NO_BFLOAT16_CONVERSIONS__ -D__CUDA_NO_HALF2_OPERATORS__ --expt-relaxed-constexpr --compiler-options ''"'"'-fPIC'"'"'' -O2 -DTORCH_API_INCLUDE_EXTENSION_H -DTORCH_EXTENSION_NAME=pointops_cuda -gencode=arch=compute_89,code=compute_89 -gencode=arch=compute_89,code=sm_89 -std=c++17
[19/19] /usr/local/cuda/bin/nvcc --generate-dependencies-with-compile --dependency-output /content/UniST/external/RepKPU_ops/models/pointops/build/temp.linux-x86_64-cpython-312/src/sampling/sampling_cuda_kernel.o.d -I/usr/local/lib/python3.12/dist-packages/torch/include -I/usr/local/lib/python3.12/dist-packages/torch/include/torch/csrc/api/include -I/usr/local/cuda/include -I/usr/include/python3.12 -c -c /content/UniST/external/RepKPU_ops/models/pointops/src/sampling/sampling_cuda_kernel.cu -o /content/UniST/external/RepKPU_ops/models/pointops/build/temp.linux-x86_64-cpython-312/src/sampling/sampling_cuda_kernel.o -D__CUDA_NO_HALF_OPERATORS__ -D__CUDA_NO_HALF_CONVERSIONS__ -D__CUDA_NO_BFLOAT16_CONVERSIONS__ -D__CUDA_NO_HALF2_OPERATORS__ --expt-relaxed-constexpr --compiler-options ''"'"'-fPIC'"'"'' -O2 -DTORCH_API_INCLUDE_EXTENSION_H -DTORCH_EXTENSION_NAME=pointops_cuda -gencode=arch=compute_89,code=compute_89 -gencode=arch=compute_89,code=sm_89 -std=c++17
creating build/lib.linux-x86_64-cpython-312
x86_64-linux-gnu-g++ -fno-strict-overflow -Wsign-compare -DNDEBUG -g -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -g -fwrapv -O2 /content/UniST/external/RepKPU_ops/models/pointops/build/temp.linux-x86_64-cpython-312/src/ballquery/ballquery_cuda.o /content/UniST/external/RepKPU_ops/models/pointops/build/temp.linux-x86_64-cpython-312/src/ballquery/ballquery_cuda_kernel.o /content/UniST/external/RepKPU_ops/models/pointops/build/temp.linux-x86_64-cpython-312/src/featuredistribute/featuredistribute_cuda.o /content/UniST/external/RepKPU_ops/models/pointops/build/temp.linux-x86_64-cpython-312/src/featuredistribute/featuredistribute_cuda_kernel.o /content/UniST/external/RepKPU_ops/models/pointops/build/temp.linux-x86_64-cpython-312/src/grouping/grouping_cuda.o /content/UniST/external/RepKPU_ops/models/pointops/build/temp.linux-x86_64-cpython-312/src/grouping/grouping_cuda_kernel.o /content/UniST/external/RepKPU_ops/models/pointops/build/temp.linux-x86_64-cpython-312/src/grouping_int/grouping_int_cuda.o /content/UniST/external/RepKPU_ops/models/pointops/build/temp.linux-x86_64-cpython-312/src/grouping_int/grouping_int_cuda_kernel.o /content/UniST/external/RepKPU_ops/models/pointops/build/temp.linux-x86_64-cpython-312/src/interpolation/interpolation_cuda.o /content/UniST/external/RepKPU_ops/models/pointops/build/temp.linux-x86_64-cpython-312/src/interpolation/interpolation_cuda_kernel.o /content/UniST/external/RepKPU_ops/models/pointops/build/temp.linux-x86_64-cpython-312/src/knnquery/knnquery_cuda.o /content/UniST/external/RepKPU_ops/models/pointops/build/temp.linux-x86_64-cpython-312/src/knnquery/knnquery_cuda_kernel.o /content/UniST/external/RepKPU_ops/models/pointops/build/temp.linux-x86_64-cpython-312/src/knnquery_heap/knnquery_heap_cuda.o /content/UniST/external/RepKPU_ops/models/pointops/build/temp.linux-x86_64-cpython-312/src/knnquery_heap/knnquery_heap_cuda_kernel.o /content/UniST/external/RepKPU_ops/models/pointops/build/temp.linux-x86_64-cpython-312/src/labelstat/labelstat_cuda.o /content/UniST/external/RepKPU_ops/models/pointops/build/temp.linux-x86_64-cpython-312/src/labelstat/labelstat_cuda_kernel.o /content/UniST/external/RepKPU_ops/models/pointops/build/temp.linux-x86_64-cpython-312/src/pointops_api.o /content/UniST/external/RepKPU_ops/models/pointops/build/temp.linux-x86_64-cpython-312/src/sampling/sampling_cuda.o /content/UniST/external/RepKPU_ops/models/pointops/build/temp.linux-x86_64-cpython-312/src/sampling/sampling_cuda_kernel.o -L/usr/local/lib/python3.12/dist-packages/torch/lib -L/usr/local/cuda/lib64 -L/usr/lib/x86_64-linux-gnu -lc10 -ltorch -ltorch_cpu -ltorch_python -lcudart -lc10_cuda -ltorch_cuda -o build/lib.linux-x86_64-cpython-312/pointops_cuda.cpython-312-x86_64-linux-gnu.so
creating build/bdist.linux-x86_64/egg
copying build/lib.linux-x86_64-cpython-312/pointops_cuda.cpython-312-x86_64-linux-gnu.so -> build/bdist.linux-x86_64/egg
creating stub loader for pointops_cuda.cpython-312-x86_64-linux-gnu.so
byte-compiling build/bdist.linux-x86_64/egg/pointops_cuda.py to pointops_cuda.cpython-312.pyc
creating build/bdist.linux-x86_64/egg/EGG-INFO
copying pointops.egg-info/PKG-INFO -> build/bdist.linux-x86_64/egg/EGG-INFO
copying pointops.egg-info/SOURCES.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
copying pointops.egg-info/dependency_links.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
copying pointops.egg-info/top_level.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
writing build/bdist.linux-x86_64/egg/EGG-INFO/native_libs.txt
zip_safe flag not set; analyzing archive contents...
__pycache__.pointops_cuda.cpython-312: module references __file__
creating dist
creating 'dist/pointops-0.0.0-py3.12-linux-x86_64.egg' and adding 'build/bdist.linux-x86_64/egg' to it
removing 'build/bdist.linux-x86_64/egg' (and everything under it)
Processing pointops-0.0.0-py3.12-linux-x86_64.egg
creating /usr/local/lib/python3.12/dist-packages/pointops-0.0.0-py3.12-linux-x86_64.egg
Extracting pointops-0.0.0-py3.12-linux-x86_64.egg to /usr/local/lib/python3.12/dist-packages
Adding pointops 0.0.0 to easy-install.pth file

Installed /usr/local/lib/python3.12/dist-packages/pointops-0.0.0-py3.12-linux-x86_64.egg
Processing dependencies for pointops==0.0.0
Finished processing dependencies for pointops==0.0.0
✓ pointops extension built successfully!

============================================================
✓ All CUDA extensions built successfully!
============================================================

The example data used for this tutorial can be downloaded from:

https://drive.google.com/file/d/1hC2pSuEsCwW_TCbAeBSUV8uY9xaczJ8Y/view?usp=sharing

and place under: external/RepKPU_ops/dataset/

The pre-trained weight can be downloaded from:

https://drive.google.com/file/d/1af_de8YnG5eOAJaSDy1C5CmZRqaCCYb-/view

and put under ./external/RepKPU_ops/pretrain/

!ls external/RepKPU_ops/pretrain
ckpt-best.pth

Inputs should be .xyz

import numpy as np
import matplotlib.pyplot as plt

file_path = "external/RepKPU_ops/dataset/slice440.xyz"

points = []
with open(file_path, 'r') as f:
    for line in f:
        parts = line.strip().split()
        if len(parts) >= 2:
            x, y = float(parts[0]), float(parts[1])
            points.append((x, y))

points = np.array(points)
n_points = points.shape[0]

plt.figure(figsize=(6, 6))
plt.scatter(points[:, 0], points[:, 1], s=1, alpha=0.5)
plt.xlabel('X')
plt.ylabel('Y')
plt.title(f"Authentic (slice 4400, {n_points} cells)")
plt.axis('equal')
#plt.savefig('slice440.png', format='png', dpi=300)
plt.show()
_images/1bb488460a0727aa7f15a70cdb60175ce8791e1cdff1b0b41fcf9d13b578f913.png
!python -m upsampling.test_upsampling \
    --dataset pugan \
    --input_dir /content/UniST/external/RepKPU_ops/dataset \
    --ckpt /content/UniST/external/RepKPU_ops/pretrain/ckpt-best.pth \
    --r 2 \
    --save_dir /content/UniST/external/RepKPU_ops/result \
    --flexible \
    --no_gt
Loaded compiled 3D CUDA chamfer distance

============================================================
Input Directory: /content/UniST/external/RepKPU_ops/dataset
Directory exists: True
Directory is absolute: True
Directory contents (5 items):
  [FILE] slice440.xyz
  [FILE] dataset.py
  [FILE] utils.py
  [DIR] .ipynb_checkpoints
  [DIR] __pycache__

Searching for .xyz files...
  Direct search: found 1 files
============================================================

=== Starting Flexible Scale Upsampling Test ===
Found 1 files

==================================================
Processing file 1/1: slice440.xyz
==================================================
🔍 Step 1: Reading point cloud file...
  ✓ Successfully read 8382 points
  📊 Point cloud shape: (8382, 3)

🎯 Step 2: Calculating target point count...
  📊 Input points: 8382
  📈 Upsampling rate: 2.0
  🎯 Target points: 16764

⏭️ Step 3: Skipping GT loading (no_gt flag set)

🔄 Step 4: Converting to PyTorch tensor...
  ✓ Converted to tensor: torch.Size([8382, 3])
  📱 Device: cuda:0
  ✓ After rearrangement: torch.Size([1, 3, 8382])

📏 Step 5: Normalizing point cloud...
  ✓ Normalization completed
  📊 Normalized shape: torch.Size([1, 3, 8382])
  📍 Centroid: [6298.135 9050.527  440.   ]
  📐 Furthest distance: 2572.282471

🚀 Step 6: Executing model upsampling...
/content/UniST/external/RepKPU_ops/models/pointops/functions/pointops.py:47: UserWarning: The torch.cuda.*DtypeTensor constructors are no longer recommended. It's best to use methods such as torch.tensor(data, dtype=*, device='cuda') to create tensors. (Triggered internally at /pytorch/torch/csrc/tensor/python_tensor.cpp:78.)
  idx = torch.cuda.IntTensor(b, m)
  ✓ Model upsampling completed: torch.Size([1, 3, 33528])

🔄 Step 7: Denormalizing...
  ✓ Denormalization completed: torch.Size([1, 3, 33528])

✂️ Step 8: Controlling output point count...
  📊 Current point count: 33528
  🎯 Target point count: 16764
  ✂️ Point count after trimming: 16764

💾 Step 9: Preparing data for saving...
  ✓ Converted to numpy: (16764, 3)
  🔢 Data type: float32
  🔍 NaN count: 0
  🔍 Inf count: 0

📁 Step 10: Creating save directory...
  📂 Target directory: /content/UniST/external/RepKPU_ops/result/xyz
  ✓ Directory created successfully

💾 Step 11: Saving file...
  📄 Output path: /content/UniST/external/RepKPU_ops/result/xyz/slice440.xyz
  🔄 Starting file write...
  ✓ File write completed
  ✅ File verification successful! Size: 589299 bytes
  ✅ File content verification: (16764, 3)

📊 Step 12: Calculating evaluation metrics...
  ⏭️ Skipping evaluation (no GT)

✅ File slice440.xyz processing completed!

============================================================
Processing completed! Successfully processed 1.0 files
============================================================
Average Chamfer distance: 0.000000
📄 Results saved to: /content/UniST/external/RepKPU_ops/result/cd.txt
### visualization the results
file_path = "external/RepKPU_ops/result/xyz/slice440.xyz"

points = []
with open(file_path, 'r') as f:
    for line in f:
        parts = line.strip().split()
        if len(parts) >= 2:
            x, y = float(parts[0]), float(parts[1])
            points.append((x, y))

points = np.array(points)
n_points = points.shape[0]

plt.figure(figsize=(6, 6))
plt.scatter(points[:, 0], points[:, 1], s=1, alpha=0.5)
plt.xlabel('X')
plt.ylabel('Y')
plt.title(f"Upsampling, r=2 (slice 440, {n_points} cells)")
plt.axis('equal')
#plt.savefig('slice440_r2.png', format='png', dpi=300)
plt.show()
_images/418667b3833be0f5b5dc53fcd8ee23c9268647026677f560a927e054dd6f4c04.png

Flexible upsampling rate

### upsampling rate = 1.3

!python -m upsampling.test_upsampling \
    --dataset pugan \
    --input_dir /content/UniST/external/RepKPU_ops/dataset \
    --ckpt /content/UniST/external/RepKPU_ops/pretrain/ckpt-best.pth \
    --r 1.3 \
    --save_dir /content/UniST/external/RepKPU_ops/result \
    --flexible \
    --no_gt
Loaded compiled 3D CUDA chamfer distance

============================================================
Input Directory: /content/UniST/external/RepKPU_ops/dataset
Directory exists: True
Directory is absolute: True
Directory contents (5 items):
  [FILE] slice440.xyz
  [FILE] dataset.py
  [FILE] utils.py
  [DIR] .ipynb_checkpoints
  [DIR] __pycache__

Searching for .xyz files...
  Direct search: found 1 files
============================================================

=== Starting Flexible Scale Upsampling Test ===
Found 1 files

==================================================
Processing file 1/1: slice440.xyz
==================================================
🔍 Step 1: Reading point cloud file...
  ✓ Successfully read 8382 points
  📊 Point cloud shape: (8382, 3)

🎯 Step 2: Calculating target point count...
  📊 Input points: 8382
  📈 Upsampling rate: 1.3
  🎯 Target points: 10896

⏭️ Step 3: Skipping GT loading (no_gt flag set)

🔄 Step 4: Converting to PyTorch tensor...
  ✓ Converted to tensor: torch.Size([8382, 3])
  📱 Device: cuda:0
  ✓ After rearrangement: torch.Size([1, 3, 8382])

📏 Step 5: Normalizing point cloud...
  ✓ Normalization completed
  📊 Normalized shape: torch.Size([1, 3, 8382])
  📍 Centroid: [6298.135 9050.527  440.   ]
  📐 Furthest distance: 2572.282471

🚀 Step 6: Executing model upsampling...
/content/UniST/external/RepKPU_ops/models/pointops/functions/pointops.py:47: UserWarning: The torch.cuda.*DtypeTensor constructors are no longer recommended. It's best to use methods such as torch.tensor(data, dtype=*, device='cuda') to create tensors. (Triggered internally at /pytorch/torch/csrc/tensor/python_tensor.cpp:78.)
  idx = torch.cuda.IntTensor(b, m)
  ✓ Model upsampling completed: torch.Size([1, 3, 33528])

🔄 Step 7: Denormalizing...
  ✓ Denormalization completed: torch.Size([1, 3, 33528])

✂️ Step 8: Controlling output point count...
  📊 Current point count: 33528
  🎯 Target point count: 10896
  ✂️ Point count after trimming: 10896

💾 Step 9: Preparing data for saving...
  ✓ Converted to numpy: (10896, 3)
  🔢 Data type: float32
  🔍 NaN count: 0
  🔍 Inf count: 0

📁 Step 10: Creating save directory...
  📂 Target directory: /content/UniST/external/RepKPU_ops/result/xyz
  ✓ Directory created successfully

💾 Step 11: Saving file...
  📄 Output path: /content/UniST/external/RepKPU_ops/result/xyz/slice440.xyz
  🔄 Starting file write...
  ✓ File write completed
  ✅ File verification successful! Size: 383157 bytes
  ✅ File content verification: (10896, 3)

📊 Step 12: Calculating evaluation metrics...
  ⏭️ Skipping evaluation (no GT)

✅ File slice440.xyz processing completed!

============================================================
Processing completed! Successfully processed 1.0 files
============================================================
Average Chamfer distance: 0.000000
📄 Results saved to: /content/UniST/external/RepKPU_ops/result/cd.txt
### visualization the results
file_path = "external/RepKPU_ops/result/xyz/slice440.xyz"

points = []
with open(file_path, 'r') as f:
    for line in f:
        parts = line.strip().split()
        if len(parts) >= 2:
            x, y = float(parts[0]), float(parts[1])
            points.append((x, y))

points = np.array(points)
n_points = points.shape[0]

plt.figure(figsize=(6, 6))
plt.scatter(points[:, 0], points[:, 1], s=1, alpha=0.5)
plt.xlabel('X')
plt.ylabel('Y')
plt.title(f"Upsampling, r=1.3 (slice 440, {n_points} cells)")
plt.axis('equal')
#plt.savefig('slice440_r1.3.png', format='png', dpi=300)
plt.show()
_images/86bf1c6fb9ca3421b506cdbea8bb98bfe99a3855970000c71699b72e5c38b398.png