Ideally, you would install it on WSL (Ubuntu) for maximum support, which you could use later on for your Python virtual environment to run your codes.
sudo apt update sudo apt upgradesudo apt install python3 sudo apt install --reinstall python3-pip sudo apt install python3-venv sudo apt install python3-devsudo apt install g++-11 sudo apt install clang-15 libc++-15-dev libc++abi-15-dev sudo apt install gcc sudo apt install build-essentialpython3 -m venv <env-name> source env-name/bin/activatemkdir cuda && cd cuda wget https://developer.download.nvidia.com/compute/cuda/12.4.1/local_installers/cuda_12.4.1_550.54.15_linux.run sudo sh cuda_12.4.1_550.54.15_linux.runAdd CUDA to your path:
export PATH=/usr/local/cuda-12.4/bin${PATH:+:${PATH}} export LD_LIBRARY_PATH=/usr/local/cuda-12.4/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}which cicc # if cicc is not found: sudo ln -s /usr/local/cuda-12.4/nvvm/bin/cicc /usr/bin/cicc nvcc --version # Should report 12.4 or similar which ptxas ptxas --version # Should also be 12.x # if it fails: sudo ln -s /usr/local/cuda-12.4/bin/ptxas /usr/bin/ptxasYou could either install a recent version of CMake or download the already tested v3.29.3 (stable on WSL).
To use CMake locally:
mkdir cmake_build && cd cmake_build wget https://github.com/Kitware/CMake/releases/download/v3.29.3/cmake-3.29.3-linux-x86_64.tar.gz mkdir -p ~/opt && tar -xzf cmake-3.29.3-linux-x86_64.tar.gz -C ~/opt echo 'export PATH=$HOME/opt/cmake-3.29.3-linux-x86_64/bin:$PATH' >> ~/.bashrc source ~/.bashrcCheck version:
cmake --version # should print cmake version 3.29.3sudo apt install libglew-dev libxkbcommon-dev xorg-dev libglu1-mesa-dev libwayland-dev git clone https://github.com/isl-org/Open3D && cd Open3D mkdir build && cd build| SM Version | GPU Family | Examples |
|---|---|---|
| sm_75 | Turing | RTX 2080, RTX 2070, T4 |
| sm_86 | Ampere | RTX 30xx series (3080, 3090) |
| sm_89 | Ada Lovelace | RTX 40xx series (4080, 4090) |
| sm_80 | A100 (datacenter GPU) | NVIDIA A100 |
- For sm_75 use the flag:
CMAKE_CUDA_ARCHITECTURES="75" - For multiple builds (e.g., sm_75 and 86):
CMAKE_CUDA_ARCHITECTURES="75;86"
cmake -DCMAKE_CXX_COMPILER="/usr/bin/g++-11" -DBUILD_CUDA_MODULE=ON -DBUILD_PYTHON_MODULE=ON -DPYTHON_EXECUTABLE=$(which python) -D CUDA_TOOLKIT_ROOT_DIR="/usr/local/cuda-12.4" -DCMAKE_INSTALL_PREFIX=~/open3d_install -D CUDA_TOOLKIT_ROOT_DIR="/usr/local/cuda-12.4" -D CMAKE_CUDA_ARCHITECTURES="75" -DBUILD_GUI=ON -DCMAKE_CUDA_COMPILER=/usr/local/cuda-12.4/bin/nvcc ..Either limit the number of jobs or increase the WSL swap memory
make -j2Once the build is complete and you are inside your python virtual environment, run
pip install setuptools make install-pip-package python -c "import open3d; print(open3d.core.cuda.is_available())" Check the base sample & This demo from Open3D examples for simple usage

