Successfully installed on Windows 11 with Nvidia RTX 5090 + CUDA 12.8
Update guide - From 9th june 2026 on
As of now, the old installation guide no longer works due to PyTorch conflicts and build isolation issues.
I fixed the guide using newer compatible versions when possible - see below for further information
Complete installation
CUDA Toolkit 12.8 Install
- Check in terminal if you already have a previous version of CUDA Toolkit installed,
nvcc --version - In any case, install CUDA Toolkit 12.8 on your system here
- If you had a previous version, you need to update your environment variables to make 12.8 the current version
- As explained here:
- Open env. variables
- In System vars, change/create the env var
CUDA_PATHwith value pointing to the CUDA Toolkit 12.8 install folder, e.g.C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.8 - In System vars, create a new var called
CUDA_PATH_V12_8with the same value said above (CUDA 12.8 folder) - In System vars, move the two entries referring to CUDA 12.8 to the top of the list. In my case, they are
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.8\libnvvpandC:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.8\bin. - In my case the above entries did not exist, so I had to create them
- Close all terminals, reopen one and check your nvcc version again:
nvcc --version - If successfull, the version now should be 12.8
GS repository
- Clone repo:
git clone https://github.com/graphdeco-inria/gaussian-splatting --recursive - From #923 , I edited
submodules/simple-knn/simple-knn.cuto include float.h:#include <float.h>. I did not have to make the other changes listed - There are some part of the process that needs to be done manually, so I skipped installation using a .env file.
- Using Anaconda for the rest of the process:
conda create -n "gaussian-splatting" python=3.10 ipythonconda activate gaussian-splattingset DISTUTILS_USE_SDK=1
- Below, the list and version of packages (some of them inspired by #923), and the commands to manually install them
cuda-toolkit=12.4install:conda install cuda-toolkit=12.4 -c conda-forgeplyfileinstall:conda install -c conda-forge plyfiletqdminstall:conda install tqdmtorch,torchvision,torchaudio, install:pip install torch==2.8.0 torchvision==0.23.0 torchaudio==2.8.0 --index-url https://download.pytorch.org/whl/cu128) - important: do not change versions hereopencv-python, install:pip install opencv-pythonjoblib, install:pip install joblib
- Before installing submodules, follow this guide I wrote here in issue #833, otherwise wheel will fail because it can't find VS19 Build Tools
- Finally, install submodules with --no-build-isolation:
cdto cloned foldersubmodules/diff-gaussian-rasterization, install:pip install submodules/diff-gaussian-rasterization --no-build-isolationsubmodules/simple-knn, install:pip install submodules/simple-knn --no-build-isolationsubmodules/fused-ssim, install:pip install submodules/fused-ssim --no-build-isolation
Finished!
Note
In my process, when I tried to execute train.py I encountered this error:
OMP: Error #15: Initializing libiomp5md.dll, but found mk2iomp5md.dll already initialized.
OMP: Hint: This means that multiple copies of the OpenMP runtime have been linked into the program. That is dangerous, since it can degrade performance or cause incorrect results. The best thing to do is to ensure that only a single OpenMP runtime is linked into the process, e.g. by avoiding static linking of the OpenMP runtime in any library. As an unsafe, unsupported, undocumented workaround you can set the environment variable KMP_DUPLICATE_LIB_OK=TRUE to allow the program to continue to execute, but that may cause crashes or silently produce incorrect results. For more information, please see http://www.intel.com/software/products/support/.To solve this:
- in
train.pyadd the following environment variable like the error suggests:import os os.environ["KMP_DUPLICATE_LIB_OK"] = "TRUE"
Alternatively (this might break your environment):
- Go to your anaconda3/miniconda3 user folder. In my case:
C:\Users\User\miniconda3 - Go to
envs/YourEnvName\Library\binfolder - Delete
libiomp5md.dll
More info
PyTorch compatibility
Beware: do not use CUDA 13.0 and PyTorch for CUDA 13.0!
I´m referring to pip3 install torch torchvision --index-url https://download.pytorch.org/whl/cu130 which also requires Python 3.10
I was trying to install Gauss Splat using the latest PyTorch version (as now: 2.12), but when compiling submodules, it throws the following error:
C:/Users/User/miniconda3/envs/gaussian-splatting/lib/site-packages/torch/include\torch/csrc/dynamo/compiled_autograd.h(1134): error C2872: 'std': ambiguous symbol
It seems a compatibility issue regarding PyTorch and the standard C++ libraries in Visual Studio, as stated in
- https://github.com/thu-ml/SageAttention/issues/228
- https://github.com/thu-ml/SageAttention/issues/101
- https://discuss.pytorch.org/t/urgent-help-needed-compiling-pytorch-scatter-for-rtx-5070-in-comfyui-std-ambiguous-symbol-error/222742
You will encounter this error on PyTorch version 2.9 (included) and above
Using PyTorch 2.8 with Python 3.10, everything works, as hinted here:
--no-build-isolation
When compiling submodules, the installation fails with an error saying PyTorch is missing (ModuleNotFoundError: No module named 'torch'), even though PyTorch is correctly installed in the environment
Modern pip uses Build Isolation by default, creating a temporary sandbox to compile the package, which doesn't inherit the PyTorch installation from the active environment
To solve, bypass isolation using the --no-build-isolation flag
Old guide - before 9th june 2026 (for reference)
Old guideCUDA Toolkit 12.8 Install
- Check in terminal if you already have a previous version of CUDA Toolkit installed,
nvcc --version - In any case, install CUDA Toolkit 12.8 on your system here
- If you had a previous version, you need to update your environment variables to make 12.8 the current version
- As explained here:
- Open env. variables
- In System vars, change/create the env var
CUDA_PATHwith value pointing to the CUDA Toolkit 12.8 install folder, e.g.C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.8 - In System vars, create a new var called
CUDA_PATH_V12_8with the same value said above (CUDA 12.8 folder) - In System vars, move the two entries referring to CUDA 12.8 to the top of the list. In my case, they are
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.8\libnvvpandC:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.8\bin. - In my case the above entries did not exist, so I had to create them
- Close all terminals, reopen one and check your nvcc version again:
nvcc --version - If successfull, the version now should be 12.8
GS repository
- Clone repo:
git clone https://github.com/graphdeco-inria/gaussian-splatting --recursive - From #923 , I edited
submodules/simple-knn/simple-knn.cuto include float.h:#include <float.h>. I did not have to make the other changes listed - There are some part of the process that needs to be done manually, so I skipped installation using a .env file.
- Using Anaconda for the rest of the process:
conda create -n "gaussian-splatting" python=3.9 ipython(python 3.9 is the minimum required version for torch here)conda activate gaussian-splatting
- Below, the list and version of packages (some of them inspired by #923), and the commands to manually install them
cuda-toolkit=12.4install:conda install -c nvidia cuda-toolkit=12.4plyfileinstall:conda install -c conda-forge plyfiletqdminstall:conda install tqdmtorch,torchvision,torchaudio, install:pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu128(you can also specify the versions:pip install torch==2.7.1 torchvision==0.22.1 torchaudio==2.7.1 --index-url https://download.pytorch.org/whl/cu128)opencv-python, install:pip install opencv-pythonjoblib, install:pip install joblib
- Before installing submodules, follow this guide I wrote here in issue #833, otherwise wheel will fail because it can't find VS19 Build Tools
- Finally, install submodules:
cdto cloned foldersubmodules/diff-gaussian-rasterization, install:pip install submodules/diff-gaussian-rasterizationsubmodules/simple-knn, install:pip install submodules/simple-knnsubmodules/fused-ssim, install:pip install submodules/fused-ssim
Finished!
Note
In my process, when I tried to execute train.py I encountered this error:
OMP: Error #15: Initializing libiomp5md.dll, but found mk2iomp5md.dll already initialized.
OMP: Hint: This means that multiple copies of the OpenMP runtime have been linked into the program. That is dangerous, since it can degrade performance or cause incorrect results. The best thing to do is to ensure that only a single OpenMP runtime is linked into the process, e.g. by avoiding static linking of the OpenMP runtime in any library. As an unsafe, unsupported, undocumented workaround you can set the environment variable KMP_DUPLICATE_LIB_OK=TRUE to allow the program to continue to execute, but that may cause crashes or silently produce incorrect results. For more information, please see http://www.intel.com/software/products/support/.To solve this:
- Go to your anaconda3/miniconda3 user folder. In my case:
C:\Users\User\miniconda3 - Go to
envs/YourEnvName\Library\binfolder - Delete
libiomp5md.dll
Feel free to comment if you have improvements!
Source: graphdeco-inria/gaussian-splatting