- An NVIDIA GPU; tensor cores increase performance when available. All shown results come from an RTX 3090.
- A C++14 capable compiler. The following choices are recommended and have been tested:
- Windows: Visual Studio 2019 or 2022
- Linux: GCC/G++ 8 or higher
- A recent version of CUDA. The following choices are recommended and have been tested:
- Windows: CUDA 11.5 or higher
- Linux: CUDA 10.2 or higher
- CMake v3.21 or higher.
- (optional) Python 3.7 or higher for interactive bindings. Also, run
pip install -r requirements.txt
. - (optional) OptiX 7.6 or higher for faster mesh SDF training.
- (optional) Vulkan SDK for DLSS support.
If you are using Debian based Linux distribution, install the following packages
sudo apt-get install build-essential git python3-dev python3-pip libopenexr-dev libxi-dev \
libglfw3-dev libglew-dev libomp-dev libxinerama-dev libxcursor-dev
Alternatively, if you are using Arch or Arch derivatives, install the following packages
sudo pacman -S cuda base-devel cmake openexr libxi glfw openmp libxinerama libxcursor
We also recommend installing CUDA and OptiX in /usr/local/
and adding the CUDA installation to your PATH.
For example, if you have CUDA 11.4, add the following to your ~/.bashrc
export PATH="/usr/local/cuda-11.4/bin:$PATH"
export LD_LIBRARY_PATH="/usr/local/cuda-11.4/lib64:$LD_LIBRARY_PATH"
Begin by cloning this repository and all its submodules using the following command:
$ git clone --recursive https://github.com/rpng/instant-ngp
$ cd instant-ngp
Then, use CMake to build the project: (on Windows, this must be in a developer command prompt)
instant-ngp$ cmake . -B build
instant-ngp$ cmake --build build --config RelWithDebInfo -j
If compilation fails inexplicably or takes longer than an hour, you might be running out of memory. Try running the above command without -j
in that case.
If this does not help, please consult this list of possible fixes before opening an issue.
If the build succeeds, you can now run the code via the ./instant-ngp
executable or the scripts/run.py
script described below.
If automatic GPU architecture detection fails, (as can happen if you have multiple GPUs installed), set the TCNN_CUDA_ARCHITECTURES
environment variable for the GPU you would like to use. The following table lists the values for common GPUs. If your GPU is not listed, consult this exhaustive list.
H100 | 40X0 | 30X0 | A100 | 20X0 | TITAN V / V100 | 10X0 / TITAN Xp | 9X0 | K80 |
---|---|---|---|---|---|---|---|---|
90 | 89 | 86 | 80 | 75 | 70 | 61 | 52 | 37 |
@article{mueller2022instant,
author = {Thomas M\"uller and Alex Evans and Christoph Schied and Alexander Keller},
title = {Instant Neural Graphics Primitives with a Multiresolution Hash Encoding},
journal = {ACM Trans. Graph.},
issue_date = {July 2022},
volume = {41},
number = {4},
month = jul,
year = {2022},
pages = {102:1--102:15},
articleno = {102},
numpages = {15},
url = {https://doi.org/10.1145/3528223.3530127},
doi = {10.1145/3528223.3530127},
publisher = {ACM},
address = {New York, NY, USA},
}
Copyright © 2022, NVIDIA Corporation. All rights reserved.
This work is made available under the Nvidia Source Code License-NC. Click here to view a copy of this license.