NVlabs / instant-ngp

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

nvcc fatal : Unsupported gpu architecture 'compute_30' #677

Open JanaayCodes opened 2 years ago

JanaayCodes commented 2 years ago

Hi all i am having some issues compiling able to successfully cmake . -B build but cmake --build build --config RelWithDebInfo -j 16 results in multiple errors rs\admin\Desktop\nstantNerf\instant-ngp\dependencies\tiny-cuda-nn\src\cpp_api.cu" nvcc fatal : Unsupported gpu architecture 'compute_30' C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\BuildCustomizations\CUDA 11.7.targets(790,9): error MSB3721: The command ""C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.7\bin\nvcc.exe" -g encode=arch=compute_30,code=\"compute_30,compute_30\" -gencode=arch=compute_30,code=\"sm_30,compute_30\" --use-local-env -ccbin "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\bin\HostX64\x64" -x cu -I"C:\Users\admin\Desktop\nstantNerf\instant-ngp\dependencies\tiny-cuda-nn\include" -I"C:\Users\admin\Desktop\nstantNerf\instant-ngp\dependencies\tiny-cuda-nn\dependencies" -I"C:\Users\admin\Desktop\nstantNerf\instant-ngp\dependen cies\tiny-cuda-nn\dependencies\cutlass\include" -I"C:\Users\admin\Desktop\nstantNerf\instant-ngp\dependencies\tiny-cuda-nn\dependencies\cutlass\tools\util\include" -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.7\include" --keep-dir x64\RelWithDebInfo -maxrregcount=0 --machine 64 --compile -cudart static --extended-lambda --expt-relaxed-constexpr -std=c++14 -Xcompiler="/EHsc -Zi -Ob1 -bigobj" -D_WINDOWS -DNDEBUG -DTCNN_MIN_GPU_ARCH=30 -DTCNN_SHAMPOO -D"CMAKE_INTDIR=\"RelWithDebInfo\"" -D"CMAKE_INTDIR=\"RelWithDebInfo\"" -D_MBCS -Xcompiler "/EHsc /W1 /nologo /O2 /FdC:\Users\admin\Desktop\nstantNerf\instant-ngp\build\dependencies\tiny-cuda-nn\src\RelWithDebInfo\tiny-cuda-nn.pdb /FS /Zi /MD /GR" -o tiny-cuda-nn.dir\RelWithDebInfo\cutlass_mlp.obj "C:\Users\admin\Desktop\nstantNerf\instant-ngp\dependencies\tiny-cuda-nn\src\cutlass_mlp.cu"" exited with code 1. [C:\Users\admin\Desktop\nstantNerf\instant-ngp\build\depe ndencies\tiny-cuda-nn\src\tiny-cuda-nn.vcxproj] C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\BuildCustomizations\CUDA 11.7.targets(790,9): error MSB3721: The command ""C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.7\bin\nvcc.exe" -g encode=arch=compute_30,code=\"compute_30,compute_30\" -gencode=arch=compute_30,code=\"sm_30,compute_30\" --use-local-env -ccbin "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133\bin\HostX64\x64" -x cu -I"C:\Users\admin\Desktop\nstantNerf\instant-ngp\dependencies\tiny-cuda-nn\include" -I"C:\Users\admin\Desktop\nstantNerf\instant-ngp\dependencies\tiny-cuda-nn\dependencies" -I"C:\Users\admin\Desktop\nstantNerf\instant-ngp\dependen cies\tiny-cuda-nn\dependencies\cutlass\include" -I"C:\Users\admin\Desktop\nstantNerf\instant-ngp\dependencies\tiny-cuda-nn\dependencies\cutlass\tools\util\include" -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.7\include" --keep-dir x64\RelWithDebInfo -maxrregcount=0 --machine 64 --compile -cudart static --extended-lambda --expt-relaxed-constexpr -std=c++14 -Xcompiler="/EHsc -Zi -Ob1 -bigobj" -D_WINDOWS -DNDEBUG -DTCNN_MIN_GPU_ARCH=30 -DTCNN_SHAMPOO -D"CMAKE_INTDIR=\"RelWithDebInfo\"" -D"CMAKE_INTDIR=\"RelWithDebInfo\"" -D_MBCS -Xcompiler "/EHsc /W1 /nologo /O2 /FdC:\Users\admin\Desktop\nstantNerf\instant-ngp\build\dependencies\tiny-cuda-nn\src\RelWithDebInfo\tiny-cuda-nn.pdb /FS /Zi /MD /GR" -o tiny-cuda-nn.dir\RelWithDebInfo\cpp_api.obj "C:\Users\admin\Desktop\nstantNerf\instant-ngp\dependencies\tiny-cuda-nn\src\cpp_api.cu"" exited with code 1. [C:\Users\admin\Desktop\nstantNerf\instant-ngp\build\dependencies \tiny-cuda-nn\src\tiny-cuda-nn.vcxproj]

running nvcc --help shows Note: the values compute_30, compute_32, compute_35, compute_37, compute_50, sm_30, sm_32, sm_35, sm_37 and sm_50 are deprecated and may be removed in a future release. Allowed values for this option: 'compute_35','compute_37','compute_50', 'compute_52','compute_53','compute_60','compute_61','compute_62','compute_70', 'compute_72','compute_75','compute_80','compute_86','compute_87','lto_35', 'lto_37','lto_50','lto_52','lto_53','lto_60','lto_61','lto_62','lto_70', 'lto_72','lto_75','lto_80','lto_86','lto_87','sm_35','sm_37','sm_50','sm_52', 'sm_53','sm_60','sm_61','sm_62','sm_70','sm_72','sm_75','sm_80','sm_86', 'sm_87'.

im using an nvdia GTX 760 GPU on Win10 Pro .. ive tried CUDA v11.6. & most recently CUDA v11.7 (latest) .. so does this mean im out of luck? is there a way to bypass the requirement of compute_30 maybe using value of compute_35 or no check at all in the compilation process so that i can avoid this error?

Thank you for any and all help!

Yanall-Boutros commented 2 years ago

gpu renting might be your best alternative. i have no idea what compute_30 vs _35 or any for that fact, but it sounds like low level functions your card either does or doesn't have

NVCC is just the api for the gpu driver AKA nvidia-smi. you can have an 11. api but the driver you have probably won't have cuda past 10.1 (just guessing