thuem / THUNDER

A particle-filter framework for robust cryoEM 3D reconstruction
GNU General Public License v2.0
56 stars 10 forks source link

GPU version compilation error #2

Closed jianSG closed 6 years ago

jianSG commented 6 years ago

Dear All, I can compile THUNDER successfully without GPU, but always get error near the end with GPU on. Our GPU workstation have 8 GTX1080, CUDA8.0 and gcc 4.8.5, Cmake 3.5 Google search suggest it may due to issue in CMake setting up, but I can't find any clear solution of it.


[ 18%] Completed 'GSL' [ 18%] Built target GSL Scanning dependencies of target cuthuem [ 19%] Building CXX object gpu/interface/CMakeFiles/cuthuem.dir/Interface.cpp.o [ 20%] Linking CXX static library ../../lib/libcuthuem.a [ 20%] Built target cuthuem [ 21%] Building NVCC (Device) object gpu/src/CMakeFiles/cuthuemcore.dir/cuthuemcore_generated_cuthunder.cu.o [ 22%] Building NVCC (Device) object gpu/src/CMakeFiles/cuthuemcore.dir/util/cuthuemcore_generated_Weilume.cu.o [ 24%] Building NVCC (Device) object gpu/src/CMakeFiles/cuthuemcore.dir/util/cuthuemcore_generated_Vec2.cu.o [ 25%] Building NVCC (Device) object gpu/src/CMakeFiles/cuthuemcore.dir/util/cuthuemcore_generated_Mat33.cu.o [ 26%] Building NVCC (Device) object gpu/src/CMakeFiles/cuthuemcore.dir/util/cuthuemcore_generated_Volume.cu.o [ 26%] Building NVCC (Device) object gpu/src/CMakeFiles/cuthuemcore.dir/util/cuthuemcore_generated_Interpolation.cu.o [ 28%] Building NVCC (Device) object gpu/src/CMakeFiles/cuthuemcore.dir/util/cuthuemcore_generated_Image.cu.o [ 29%] Building NVCC (Device) object gpu/src/CMakeFiles/cuthuemcore.dir/util/cuthuemcore_generated_Complex.cu.o [ 31%] Building NVCC (Device) object gpu/src/CMakeFiles/cuthuemcore.dir/util/cuthuemcore_generated_Vec4.cu.o [ 36%] Building NVCC (Device) object gpu/src/CMakeFiles/cuthuemcore.dir/util/cuthuemcore_generated_Vec3.cu.o [ 36%] Building NVCC (Device) object gpu/src/CMakeFiles/cuthuemcore.dir/cuthuemcore_generated_ManagedCalPoint.cu.o [ 32%] Building NVCC (Device) object gpu/src/CMakeFiles/cuthuemcore.dir/util/cuthuemcore_generated_TabFunction.cu.o [ 34%] Building NVCC (Device) object gpu/src/CMakeFiles/cuthuemcore.dir/cuthuemcore_generated_ManagedArrayTexture.cu.o [ 36%] Building NVCC (Device) object gpu/src/CMakeFiles/cuthuemcore.dir/cuthuemcore_generated_Kernel.cu.o [ 36%] Building NVCC (Device) object gpu/src/CMakeFiles/cuthuemcore.dir/acc/cuthuemcore_generated_Constructor.cu.o [ 38%] Building NVCC (Device) object gpu/src/CMakeFiles/cuthuemcore.dir/cuthuemcore_generated_Device.cu.o [ 38%] Building NVCC (Device) object gpu/src/CMakeFiles/cuthuemcore.dir/cuthuemcore_generated_ReconstructManager.cu.o [ 39%] Building NVCC intermediate link file gpu/src/CMakeFiles/cuthuemcore.dir/cuthuemcore_intermediate_link.o Scanning dependencies of target cuthuemcore [ 40%] Linking CXX static library ../../lib/libcuthuemcore.a [ 40%] Built target cuthuemcore Scanning dependencies of target SimpleCMakeTest Scanning dependencies of target ReconstructorAccTest Scanning dependencies of target CastTest Scanning dependencies of target core [ 41%] Building CXX object gpu/testsrc/CMakeFiles/SimpleCMakeTest.dir/SimpleCMakeTest.cpp.o [ 42%] Building CXX object gpu/testsrc/CMakeFiles/ReconstructorAccTest.dir/ReconstructorAccTest.cpp.o [ 43%] Building CXX object gpu/testsrc/CMakeFiles/CastTest.dir/CastTest.cpp.o [ 45%] Building CXX object CMakeFiles/core.dir/src/Precision.cpp.o [ 45%] Building CXX object CMakeFiles/core.dir/src/Coordinate5D.cpp.o [ 46%] Building CXX object CMakeFiles/core.dir/src/Utils.cpp.o [ 48%] Building CXX object CMakeFiles/core.dir/src/CTF.cpp.o [ 48%] Building CXX object CMakeFiles/core.dir/src/FFT.cpp.o [ 49%] Building CXX object CMakeFiles/core.dir/src/Reconstructor.cpp.o [ 51%] Building CXX object CMakeFiles/core.dir/src/Logging.cpp.o [ 51%] Building CXX object CMakeFiles/core.dir/src/Projector.cpp.o [ 52%] Building CXX object CMakeFiles/core.dir/src/Geometry/Symmetry.cpp.o [ 53%] Building CXX object CMakeFiles/core.dir/src/Geometry/SymmetryOperation.cpp.o [ 54%] Building CXX object CMakeFiles/core.dir/src/Geometry/Euler.cpp.o [ 55%] Building CXX object CMakeFiles/core.dir/src/Geometry/DirectionalStat.cpp.o [ 56%] Building CXX object CMakeFiles/core.dir/src/Geometry/SymmetryFunctions.cpp.o [ 57%] Building CXX object CMakeFiles/core.dir/src/Parallel.cpp.o [ 58%] Building CXX object CMakeFiles/core.dir/src/Database.cpp.o [ 59%] Building CXX object CMakeFiles/core.dir/src/Functions/Filter.cpp.o [ 61%] Building CXX object CMakeFiles/core.dir/src/Functions/Mask.cpp.o [ 61%] Building CXX object CMakeFiles/core.dir/src/Functions/Functions.cpp.o [ 63%] Building CXX object CMakeFiles/core.dir/src/Functions/Spectrum.cpp.o [ 63%] Building CXX object CMakeFiles/core.dir/src/Functions/Random.cpp.o [ 64%] Building CXX object CMakeFiles/core.dir/src/Optimiser.cpp.o [ 67%] Building CXX object CMakeFiles/core.dir/src/Image/ImageBase.cpp.o [ 67%] Building CXX object CMakeFiles/core.dir/src/Image/ImageFile.cpp.o [ 68%] Building CXX object CMakeFiles/core.dir/src/Image/BMP.cpp.o [ 70%] Building CXX object CMakeFiles/core.dir/src/Image/ImageFunctions.cpp.o [ 71%] Building CXX object CMakeFiles/core.dir/src/Image/Volume.cpp.o [ 71%] Building CXX object CMakeFiles/core.dir/src/Image/Image.cpp.o [ 72%] Building CXX object CMakeFiles/core.dir/src/Particle.cpp.o [ 73%] Building CXX object CMakeFiles/core.dir/src/TabFunction.cpp.o [ 74%] Building CXX object CMakeFiles/core.dir/src/Model.cpp.o [ 75%] Building CXX object CMakeFiles/core.dir/src/Postprocess.cpp.o [ 76%] Linking CXX executable ../../cutest/SimpleCMakeTest [ 76%] Built target SimpleCMakeTest [ 77%] Linking CXX executable ../../cutest/ReconstructorAccTest [ 78%] Linking CXX executable ../../cutest/CastTest [ 78%] Built target CastTest ../../lib/libcuthuemcore.a(cuthuemcore_intermediate_link.o): In function __cudaRegisterLinkedBinary_66_tmpxft_00001a84_00000000_17_cuda_device_runtime_compute_61_cpp1_ii_8b1a5d37': link.stub:(.text+0x4f6): undefined reference to__fatbinwrap_66_tmpxft_00001a84_00000000_17_cuda_device_runtime_compute_61_cpp1_ii_8b1a5d37' collect2: error: ld returned 1 exit status make[2]: [cutest/ReconstructorAccTest] Error 1 make[1]: [gpu/testsrc/CMakeFiles/ReconstructorAccTest.dir/all] Error 2 make[1]: Waiting for unfinished jobs.... [ 79%] Linking CXX static library libcore.a [ 79%] Built target core make: [all] Error 2 -bash-4.2$

paradoxstar commented 6 years ago

It is a bug caused by the version of cmake and cuda. Since cuda and cmake do not support each other well, bugs are fixed along their version updates.

You may solve this problem by update cuda version to 9.x. Another solution may be the update of cmake to 3.6.

jianSG commented 6 years ago

The compilation complete with cmake 3.11 and cuda 9.1. Thanks, I will try it out on real dataset.

paradoxstar commented 6 years ago

Hope THUNDER would be useful for your work :) If so, please cite us. Thank you!