RANSAC CUDA code error: invalid device symbol
The RANSAC CUDA code cannot launch on my GPU(TITAN Xp).
~/Deep-SfM-Revisited-main/RANSAC_FiveP$ python test.py Ground-truth E matrix tensor([[-0.1391, -0.0442, 0.5476], [ 0.1396, -0.0444, -0.1480], [-0.4839, 0.2972, -0.1344]]) Start essential matrix initialisation CUDA Error (/data3/liubq/Deep-SfM-Revisited-main/RANSAC_FiveP/essential_matrix/essential_matrix.cu:145): invalid device symbol Segmentation fault (core dumped)
Setting SET(CUDA_NVCC_FLAGS ${CUDA_NVCC_FLAGS}; --std=c++11; -gencode=arch=compute_61,code=sm_61) in CMakelists.txt and ext_modules=[ CUDAExtension('essential_matrix', sources, extra_compile_args={ 'cxx':['-O2'], 'nvcc':'-gencode', 'arch=compute_61,code=sm_61'} ), # extra_compile_args, extra_link_args ], in setup.py does not help.
How to deal with this problem in different devices?
Thanks!
By the way, my CUDA version is also 10.1
Hi, could you share the log file when you compile the package?
running install running bdist_egg running egg_info writing essential_matrix.egg-info/PKG-INFO writing dependency_links to essential_matrix.egg-info/dependency_links.txt writing top-level names to essential_matrix.egg-info/top_level.txt reading manifest file 'essential_matrix.egg-info/SOURCES.txt' writing manifest file 'essential_matrix.egg-info/SOURCES.txt' installing library code to build/bdist.linux-x86_64/egg running install_lib running build_ext building 'essential_matrix' extension Emitting ninja build file /data3/liubq/Deep-SfM-Revisited-main/RANSAC_FiveP/build/temp.linux-x86_64-3.6/build.ninja... Compiling objects... Allowing ninja to set a default number of workers... (overridable by setting the environment variable MAX_JOBS=N) ninja: no work to do. g++ -pthread -shared -B /data3/liubq/anaconda3/envs/dsfmr/compiler_compat -L/data3/liubq/anaconda3/envs/dsfmr/lib -Wl,-rpath=/data3/liubq/anaconda3/envs/dsfmr/lib -Wl,--no-as-needed -Wl,--sysroot=/ /data3/liubq/Deep-SfM-Revisited-main/RANSAC_FiveP/build/temp.linux-x86_64-3.6/essential_matrix/essential_matrix.o /data3/liubq/Deep-SfM-Revisited-main/RANSAC_FiveP/build/temp.linux-x86_64-3.6/essential_matrix/essential_matrix_wrapper.o -L/data3/liubq/anaconda3/envs/dsfmr/lib/python3.6/site-packages/torch/lib -L/usr/local/cuda/lib64 -lc10 -ltorch -ltorch_cpu -ltorch_python -lcudart -lc10_cuda -ltorch_cuda -o build/lib.linux-x86_64-3.6/essential_matrix.cpython-36m-x86_64-linux-gnu.so creating build/bdist.linux-x86_64/egg copying build/lib.linux-x86_64-3.6/essential_matrix.cpython-36m-x86_64-linux-gnu.so -> build/bdist.linux-x86_64/egg creating stub loader for essential_matrix.cpython-36m-x86_64-linux-gnu.so byte-compiling build/bdist.linux-x86_64/egg/essential_matrix.py to essential_matrix.cpython-36.pyc creating build/bdist.linux-x86_64/egg/EGG-INFO copying essential_matrix.egg-info/PKG-INFO -> build/bdist.linux-x86_64/egg/EGG-INFO copying essential_matrix.egg-info/SOURCES.txt -> build/bdist.linux-x86_64/egg/EGG-INFO copying essential_matrix.egg-info/dependency_links.txt -> build/bdist.linux-x86_64/egg/EGG-INFO copying essential_matrix.egg-info/top_level.txt -> build/bdist.linux-x86_64/egg/EGG-INFO writing build/bdist.linux-x86_64/egg/EGG-INFO/native_libs.txt zip_safe flag not set; analyzing archive contents... pycache.essential_matrix.cpython-36: module references file creating 'dist/essential_matrix-0.0.0-py3.6-linux-x86_64.egg' and adding 'build/bdist.linux-x86_64/egg' to it removing 'build/bdist.linux-x86_64/egg' (and everything under it) Processing essential_matrix-0.0.0-py3.6-linux-x86_64.egg removing '/data3/liubq/.local/lib/python3.6/site-packages/essential_matrix-0.0.0-py3.6-linux-x86_64.egg' (and everything under it) creating /data3/liubq/.local/lib/python3.6/site-packages/essential_matrix-0.0.0-py3.6-linux-x86_64.egg Extracting essential_matrix-0.0.0-py3.6-linux-x86_64.egg to /data3/liubq/.local/lib/python3.6/site-packages essential-matrix 0.0.0 is already the active version in easy-install.pth Installed /data3/liubq/.local/lib/python3.6/site-packages/essential_matrix-0.0.0-py3.6-linux-x86_64.egg Processing dependencies for essential-matrix==0.0.0 Finished processing dependencies for essential-matrix==0.0.0
Considering the case here, could you just modify CMakelists.txt while not change setup.py?
Still doesn't work...... orz