NVlabs / instant-ngp

Instant neural graphics primitives: lightning fast NeRF and more
https://nvlabs.github.io/instant-ngp
Other
16.07k stars 1.94k forks source link

Testbed command not found #1002

Open AidanNelson opened 2 years ago

AidanNelson commented 2 years ago

I'm attempting to get this running on a WSL2 installation of Ubuntu 18.04 with the following dependencies:

My build is completing correctly (Log and output files below) with warnings, but no errors. When I try to run the testbed, I am not seeing an executable file. Could you please advise?

Thank you 🤗

When I run sudo ./build/CMakeFiles/testbed.dir --scene data/nerf/fox I see the following error: sudo: ./build/CMakeFiles/testbed.dir: command not found.

Build Log:

cmake . -B build -DCMAKE_CUDA_COMPILER=/usr/local/cuda-11.8/bin/nvcc
-- The C compiler identification is GNU 7.5.0
-- The CXX compiler identification is GNU 7.5.0
-- The CUDA compiler identification is NVIDIA 11.8.89
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Detecting CUDA compiler ABI info
-- Detecting CUDA compiler ABI info - done
-- Check for working CUDA compiler: /usr/local/cuda-11.8/bin/nvcc - skipped
-- Detecting CUDA compile features
-- Detecting CUDA compile features - done
-- No release type specified. Setting to 'Release'.
-- Targeting GPU architectures: 52
CMake Warning at dependencies/tiny-cuda-nn/CMakeLists.txt:122 (message):
  Fully fused MLPs do not support GPU architectures of 70 or less.  Falling
  back to CUTLASS MLPs.  Remove GPU architectures 70 and lower to allow
  maximum performance

-- Module support is disabled.
-- Version: 9.0.0
-- Build type: Release
-- CXX_STANDARD: 14
-- Performing Test has_std_14_flag
-- Performing Test has_std_14_flag - Success
-- Performing Test has_std_1y_flag
-- Performing Test has_std_1y_flag - Success
-- Required features: cxx_variadic_templates
-- Found Vulkan: /usr/lib/x86_64-linux-gnu/libvulkan.so (found version "70")  missing components: glslc glslangValidator
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE  
-- Using X11 for window creation
-- Found X11: /usr/include   
-- Looking for XOpenDisplay in /usr/lib/x86_64-linux-gnu/libX11.so;/usr/lib/x86_64-linux-gnu/libXext.so
-- Looking for XOpenDisplay in /usr/lib/x86_64-linux-gnu/libX11.so;/usr/lib/x86_64-linux-gnu/libXext.so - found
-- Looking for gethostbyname
-- Looking for gethostbyname - found
-- Looking for connect
-- Looking for connect - found
-- Looking for remove
-- Looking for remove - found
-- Looking for shmat
-- Looking for shmat - found
-- Looking for IceConnectionNumber in ICE
-- Looking for IceConnectionNumber in ICE - found
-- Found GLEW: /usr/include (found version "2.0.0") 
-- Found OpenMP_C: -fopenmp (found version "4.5") 
-- Found OpenMP_CXX: -fopenmp (found version "4.5") 
-- Found OpenMP: TRUE (found version "4.5")  
-- !!! Warning OptiX_INSTALL_DIR not set in environment. using default
-- OptiX_INSTALL_DIR value: /usr/local/NVIDIA-OptiX-SDK-7.5.0-linux64-x86_64
-- OptiX headers (optix.h and friends) not found.
CMake Warning at CMakeLists.txt:194 (message):
  OptiX was not found.  Neural graphics primitives will still compile and run
  correctly.  However, SDF training in 'raystab' and 'pathescape' modes will
  be significantly slower.

-- Could NOT find Python: Found unsuitable version "3.6.9", but required is at least "3.7" (found /usr/bin/python3, found components: Interpreter Development Development.Module Development.Embed)
-- Configuring done
-- Generating done
-- Build files have been written to: /home/my-username/projects/instant-ngp/build

And here are the output files in build directory:

build
├── CMakeCache.txt
├── CMakeFiles
│   ├── 3.24.2
│   │   ├── CMakeCCompiler.cmake
│   │   ├── CMakeCUDACompiler.cmake
│   │   ├── CMakeCXXCompiler.cmake
│   │   ├── CMakeDetermineCompilerABI_C.bin
│   │   ├── CMakeDetermineCompilerABI_CUDA.bin
│   │   ├── CMakeDetermineCompilerABI_CXX.bin
│   │   ├── CMakeSystem.cmake
│   │   ├── CompilerIdC
│   │   │   ├── CMakeCCompilerId.c
│   │   │   ├── a.out
│   │   │   └── tmp
│   │   ├── CompilerIdCUDA
│   │   │   ├── CMakeCUDACompilerId.cu
│   │   │   ├── a.out
│   │   │   └── tmp
│   │   │       ├── CMakeCUDACompilerId.cpp1.ii
│   │   │       ├── CMakeCUDACompilerId.cpp4.ii
│   │   │       ├── CMakeCUDACompilerId.cudafe1.c
│   │   │       ├── CMakeCUDACompilerId.cudafe1.cpp
│   │   │       ├── CMakeCUDACompilerId.cudafe1.gpu
│   │   │       ├── CMakeCUDACompilerId.cudafe1.stub.c
│   │   │       ├── CMakeCUDACompilerId.fatbin
│   │   │       ├── CMakeCUDACompilerId.fatbin.c
│   │   │       ├── CMakeCUDACompilerId.module_id
│   │   │       ├── CMakeCUDACompilerId.o
│   │   │       ├── CMakeCUDACompilerId.ptx
│   │   │       ├── CMakeCUDACompilerId.sm_52.cubin
│   │   │       ├── a_dlink.fatbin
│   │   │       ├── a_dlink.fatbin.c
│   │   │       ├── a_dlink.o
│   │   │       ├── a_dlink.reg.c
│   │   │       └── a_dlink.sm_52.cubin
│   │   └── CompilerIdCXX
│   │       ├── CMakeCXXCompilerId.cpp
│   │       ├── a.out
│   │       └── tmp
│   ├── CMakeDirectoryInformation.cmake
│   ├── CMakeError.log
│   ├── CMakeOutput.log
│   ├── CMakeTmp
│   ├── FindOpenMP
│   │   ├── OpenMPCheckVersion.c
│   │   ├── OpenMPCheckVersion.cpp
│   │   ├── OpenMPTryFlag.c
│   │   ├── OpenMPTryFlag.cpp
│   │   ├── ompver_C.bin
│   │   └── ompver_CXX.bin
│   ├── Makefile.cmake
│   ├── Makefile2
│   ├── TargetDirectories.txt
│   ├── cmake.check_cache
│   ├── ngp.dir
│   │   ├── DependInfo.cmake
│   │   ├── build.make
│   │   ├── cmake_clean.cmake
│   │   ├── cmake_clean_target.cmake
│   │   ├── compiler_depend.make
│   │   ├── compiler_depend.ts
│   │   ├── depend.make
│   │   ├── dependencies
│   │   │   ├── imgui
│   │   │   │   └── backends
│   │   │   └── imguizmo
│   │   ├── dlink.txt
│   │   ├── flags.make
│   │   ├── link.txt
│   │   ├── progress.make
│   │   └── src
│   ├── pkgRedirects
│   ├── progress.marks
│   └── testbed.dir
│       ├── DependInfo.cmake
│       ├── build.make
│       ├── cmake_clean.cmake
│       ├── compiler_depend.make
│       ├── compiler_depend.ts
│       ├── depend.make
│       ├── flags.make
│       ├── link.txt
│       ├── progress.make
│       └── src
├── Makefile
├── cmake_install.cmake
└── dependencies
    ├── glfw
    │   ├── CMakeFiles
    │   │   ├── CMakeDirectoryInformation.cmake
    │   │   └── progress.marks
    │   ├── Makefile
    │   ├── cmake_install.cmake
    │   └── src
    │       ├── CMakeFiles
    │       │   ├── CMakeDirectoryInformation.cmake
    │       │   ├── glfw.dir
    │       │   │   ├── DependInfo.cmake
    │       │   │   ├── build.make
    │       │   │   ├── cmake_clean.cmake
    │       │   │   ├── compiler_depend.make
    │       │   │   ├── compiler_depend.ts
    │       │   │   ├── depend.make
    │       │   │   ├── flags.make
    │       │   │   ├── link.txt
    │       │   │   └── progress.make
    │       │   ├── glfw_objects.dir
    │       │   │   ├── DependInfo.cmake
    │       │   │   ├── build.make
    │       │   │   ├── cmake_clean.cmake
    │       │   │   ├── compiler_depend.make
    │       │   │   ├── compiler_depend.ts
    │       │   │   ├── depend.make
    │       │   │   ├── flags.make
    │       │   │   └── progress.make
    │       │   └── progress.marks
    │       ├── Makefile
    │       ├── cmake_install.cmake
    │       ├── glfw3.pc
    │       ├── glfw3Config.cmake
    │       ├── glfw3ConfigVersion.cmake
    │       └── glfw_config.h
    └── tiny-cuda-nn
        ├── CMakeFiles
        │   ├── CMakeDirectoryInformation.cmake
        │   ├── CMakeTmp
        │   ├── progress.marks
        │   └── tiny-cuda-nn.dir
        │       ├── DependInfo.cmake
        │       ├── build.make
        │       ├── cmake_clean.cmake
        │       ├── cmake_clean_target.cmake
        │       ├── compiler_depend.make
        │       ├── compiler_depend.ts
        │       ├── depend.make
        │       ├── flags.make
        │       ├── link.txt
        │       ├── progress.make
        │       └── src
        ├── Makefile
        ├── cmake_install.cmake
        ├── dependencies
        │   └── fmt
        │       ├── CMakeFiles
        │       │   ├── CMakeDirectoryInformation.cmake
        │       │   ├── fmt.dir
        │       │   │   ├── DependInfo.cmake
        │       │   │   ├── build.make
        │       │   │   ├── cmake_clean.cmake
        │       │   │   ├── cmake_clean_target.cmake
        │       │   │   ├── compiler_depend.make
        │       │   │   ├── compiler_depend.ts
        │       │   │   ├── depend.make
        │       │   │   ├── flags.make
        │       │   │   ├── link.txt
        │       │   │   ├── progress.make
        │       │   │   └── src
        │       │   └── progress.marks
        │       ├── Makefile
        │       └── cmake_install.cmake
        └── detect_cuda_compute_capabilities.cu
barney2074 commented 2 years ago

instant-ngp isn't the easiest thing to get up & running- CUDA/Optix/Vulkan complicate it further I'd suggest running on native Linux or Windows system, not WSL

patman77 commented 1 year ago

Had just the same issue even on Windows. On the current master, they seemed to have renamed "testbed.exe" to "instant-ngp.exe". Did you check that? Besides that, I would also recommend to test it on native Linux if you prefer Linux. If that works, try it on WSL. One step at a time.