Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Failed build Ubuntu 20.04.4 #813

Closed
Shatatel opened this issue Jul 24, 2022 · 1 comment
Closed

Failed build Ubuntu 20.04.4 #813

Shatatel opened this issue Jul 24, 2022 · 1 comment

Comments

@Shatatel
Copy link

Shatatel commented Jul 24, 2022

Ubuntu 20.04.4 kernel Linux 5.15.0-41-generic x86_64
Driver Version: 515.48.07
CUDA Version: 11.7
cmake version 3.22.5
nvcc -V
Cuda compilation tools, release 11.7, V11.7.64
Build cuda_11.7.r11.7/compiler.31294372_0
(Weird maybe this can assist
in addition to mandatory Nvidia docs)
gcc version 9.4.0 (Ubuntu 9.4.0-1ubuntu1~20.04.1)

python3.8.10 libs
commentjson=0.9.0
imageio=2.16.2 (pillow=9.2.0)
numpy=1.21.2
pybind11=2.7.1
scipy=1.21.2
tqdm=4.62.3
opencv-python=4.5.5.64

#%env TCNN_CUDA_ARCHITECTURES=86 (for RTX 30X0 was used)

Cmake Cache file here

Hello there.
I've tried to build it somehow but without any luck.
As a complete dummy in both C and all ML things I saw the results (impressive) on reddit and decided to play around.

I'm getting the following output from the

cmake . -B build

CMake Error at dependencies/tiny-cuda-nn/CMakeLists.txt:111 (list):
  list GET given empty list


-- Targeting GPU architectures: 
CMake Error at dependencies/tiny-cuda-nn/CMakeLists.txt:130 (message):
  CUDA version too low.  tiny-cuda-nn require CUDA 10.2 or higher.

I hope you'll be able to assist me somehow.

P.S. Docker image had another issue

ERROR: Version in "./.devcontainer/docker-compose.yml" is unsupported. You might be seeing this error because you're using the wrong Compose file version. Either specify a supported version (e.g "2.2" or "3.3") and place your service definitions under the `services` key, or omit the `version` key and place your service definitions at the root of the file to use version 1.
For more on the Compose file format versions, see https://docs.docker.com/compose/compose-file/

While my version is

cat docker-compose.yml 
version: "3.8"

Docker version 20.10.17, build 100c701

P.P.S. VS Docker fails to build either.
With

Step 9/12 : COPY ./requirements.txt ./
COPY failed: file not found in build context or excluded by .dockerignore: stat requirements.txt: file does not exist

After temporary fix of PATH mess with

export PATH=/usr/local/cuda-11.7/bin${PATH:+:${PATH}}
build with 
cmake . -B build -DCMAKE_CUDA_COMPILER=/usr/local/cuda-11.7/bin/nvcc

I've faced

  Policy CMP0127 is not set: cmake_dependent_option() supports full Condition
  Syntax.  Run "cmake --help-policy CMP0127" for policy details.  Use the
  cmake_policy command to set the policy and suppress this warning.
Call Stack (most recent call first):
  dependencies/pybind11/CMakeLists.txt:98 (cmake_dependent_option)
This warning is for project developers.  Use -Wno-dev to suppress it.

And

 cmake --build build --config RelWithDebInfo -j
[  5%] Built target fmt
[ 32%] Built target glfw_objects
[ 52%] Built target tiny-cuda-nn
[ 93%] Built target ngp
[ 94%] Linking CXX executable testbed
[ 98%] Built target pyngp
/usr/bin/ld: libngp.a(testbed_image.cu.o): in function `tcnn::CudaGraph::capture_and_execute(CUstream_st*, bool, std::function<void ()>)::{lambda()#1}::operator()() const':
tmpxft_000ece7e_00000000-6_testbed_image.cudafe1.cpp:(.text._ZZN4tcnn9CudaGraph19capture_and_executeEP11CUstream_stbSt8functionIFvvEEENKUlvE_clEv[_ZZN4tcnn9CudaGraph19capture_and_executeEP11CUstream_stbSt8functionIFvvEEENKUlvE_clEv]+0x3ad): undefined reference to `cudaGraphExecUpdate'
/usr/bin/ld: dependencies/tiny-cuda-nn/libtiny-cuda-nn.a(optimizer.cu.o): in function `tcnn::ShampooOptimizer<float>::step(CUstream_st*, float, float*, float*, float const*)::{lambda()#1}::operator()() const':
tmpxft_000ecbf3_00000000-6_optimizer.cudafe1.cpp:(.text._ZZN4tcnn16ShampooOptimizerIfE4stepEP11CUstream_stfPfS4_PKfENKUlvE_clEv[_ZZN4tcnn16ShampooOptimizerIfE4stepEP11CUstream_stfPfS4_PKfENKUlvE_clEv]+0xacf): undefined reference to `cublasSetWorkspace_v2'
/usr/bin/ld: tmpxft_000ecbf3_00000000-6_optimizer.cudafe1.cpp:(.text._ZZN4tcnn16ShampooOptimizerIfE4stepEP11CUstream_stfPfS4_PKfENKUlvE_clEv[_ZZN4tcnn16ShampooOptimizerIfE4stepEP11CUstream_stfPfS4_PKfENKUlvE_clEv]+0xebb): undefined reference to `cublasSetWorkspace_v2'
/usr/bin/ld: tmpxft_000ecbf3_00000000-6_optimizer.cudafe1.cpp:(.text._ZZN4tcnn16ShampooOptimizerIfE4stepEP11CUstream_stfPfS4_PKfENKUlvE_clEv[_ZZN4tcnn16ShampooOptimizerIfE4stepEP11CUstream_stfPfS4_PKfENKUlvE_clEv]+0x12c1): undefined reference to `cublasSetWorkspace_v2'
/usr/bin/ld: dependencies/tiny-cuda-nn/libtiny-cuda-nn.a(optimizer.cu.o): in function `tcnn::ShampooOptimizer<__half>::step(CUstream_st*, float, float*, __half*, __half const*)::{lambda()#1}::operator()() const':
tmpxft_000ecbf3_00000000-6_optimizer.cudafe1.cpp:(.text._ZZN4tcnn16ShampooOptimizerI6__halfE4stepEP11CUstream_stfPfPS1_PKS1_ENKUlvE_clEv[_ZZN4tcnn16ShampooOptimizerI6__halfE4stepEP11CUstream_stfPfPS1_PKS1_ENKUlvE_clEv]+0xaec): undefined reference to `cublasSetWorkspace_v2'
/usr/bin/ld: tmpxft_000ecbf3_00000000-6_optimizer.cudafe1.cpp:(.text._ZZN4tcnn16ShampooOptimizerI6__halfE4stepEP11CUstream_stfPfPS1_PKS1_ENKUlvE_clEv[_ZZN4tcnn16ShampooOptimizerI6__halfE4stepEP11CUstream_stfPfPS1_PKS1_ENKUlvE_clEv]+0xed8): undefined reference to `cublasSetWorkspace_v2'
/usr/bin/ld: dependencies/tiny-cuda-nn/libtiny-cuda-nn.a(optimizer.cu.o):tmpxft_000ecbf3_00000000-6_optimizer.cudafe1.cpp:(.text._ZZN4tcnn16ShampooOptimizerI6__halfE4stepEP11CUstream_stfPfPS1_PKS1_ENKUlvE_clEv[_ZZN4tcnn16ShampooOptimizerI6__halfE4stepEP11CUstream_stfPfPS1_PKS1_ENKUlvE_clEv]+0x12de): more undefined references to `cublasSetWorkspace_v2' follow
collect2: error: ld returned 1 exit status
make[2]: *** [CMakeFiles/testbed.dir/build.make:118: testbed] Error 1
make[1]: *** [CMakeFiles/Makefile2:204: CMakeFiles/testbed.dir/all] Error 2
make: *** [Makefile:91: all] Error 2

After

cmake --build build --config RelWithDebInfo -j

Will keep diving

@Shatatel
Copy link
Author

Shatatel commented Jul 24, 2022

And final solution was in correct PATH settings described in previous issues.

export CUDA_HOME="/usr/local/cuda"
export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/cuda/lib64"
export LIBRARY_PATH="$LIBRARY_PATH:/usr/local/cuda/lib64"

After following these steps

cmake --build build --config RelWithDebInfo -j 

Was successful.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant