NVlabs / nvbio

NVBIO is a library of reusable components designed to accelerate bioinformatics applications using CUDA.
BSD 3-Clause "New" or "Revised" License
206 stars 50 forks source link

Compilation errors for CUDA-7.5.17, Nvidia K40 #18

Open ravimanumachu opened 6 years ago

ravimanumachu commented 6 years ago

Dear Nvbio developers,

I hope you are well. There are compilation errors with nvbio-1.1.00 and even the latest git version.

Following are the diagnostics, which I hope will help you fix the errors.

Please let me know if you need further information.

$ nvcc --version nvcc: NVIDIA (R) Cuda compiler driver Copyright (c) 2005-2015 NVIDIA Corporation Built on Tue_Aug_11_14:27:32_CDT_2015 Cuda compilation tools, release 7.5, V7.5.17

$ gcc -v Using built-in specs. COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/lto-wrapper Target: x86_64-redhat-linux Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-linker-hash-style=gnu --enable-languages=c,c++,objc,obj-c++,java,fortran,ada,go,lto --enable-plugin --enable-initfini-array --disable-libgcj --with-isl=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/isl-install --with-cloog=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/cloog-install --enable-gnu-indirect-function --with-tune=generic --with-arch_32=x86-64 --build=x86_64-redhat-linux Thread model: posix gcc version 4.8.5 20150623 (Red Hat 4.8.5-16) (GCC)

$ nvidia-smi -q

==============NVSMI LOG==============

Timestamp : Tue Feb 6 10:13:14 2018 Driver Version : 352.79

Attached GPUs : 1 GPU 0000:85:00.0 Product Name : Tesla K40c Product Brand : Tesla Display Mode : Disabled Display Active : Disabled Persistence Mode : Disabled Accounting Mode : Disabled Accounting Mode Buffer Size : 1920 Driver Model Current : N/A Pending : N/A Serial Number : 0325215045418 GPU UUID : GPU-d19a0dc3-9023-218c-2911-b34bab7d6a1b Minor Number : 0 VBIOS Version : 80.80.3E.00.02 MultiGPU Board : No Board ID : 0x8500 Inforom Version Image Version : 2081.0206.01.04 OEM Object : 1.1 ECC Object : 3.0 Power Management Object : N/A GPU Operation Mode Current : N/A Pending : N/A PCI Bus : 0x85 Device : 0x00 Domain : 0x0000 Device Id : 0x102410DE Bus Id : 0000:85:00.0 Sub System Id : 0x098310DE GPU Link Info PCIe Generation Max : 3 Current : 3 Link Width Max : 16x Current : 16x Bridge Chip Type : N/A Firmware : N/A Replays since reset : 0 Tx Throughput : N/A Rx Throughput : N/A Fan Speed : 23 % Performance State : P0 Clocks Throttle Reasons Idle : Not Active Applications Clocks Setting : Active SW Power Cap : Not Active HW Slowdown : Not Active Unknown : Not Active FB Memory Usage Total : 11519 MiB Used : 23 MiB Free : 11496 MiB BAR1 Memory Usage Total : 256 MiB Used : 2 MiB Free : 254 MiB Compute Mode : Default Utilization Gpu : 66 % Memory : 3 % Encoder : 0 % Decoder : 0 % Ecc Mode Current : Enabled Pending : Enabled ECC Errors Volatile Single Bit
Device Memory : 0 Register File : 0 L1 Cache : 0 L2 Cache : 0 Texture Memory : 0 Total : 0 Double Bit
Device Memory : 0 Register File : 0 L1 Cache : 0 L2 Cache : 0 Texture Memory : 0 Total : 0 Aggregate Single Bit
Device Memory : 0 Register File : 0 L1 Cache : 0 L2 Cache : 0 Texture Memory : 0 Total : 0 Double Bit
Device Memory : 0 Register File : 0 L1 Cache : 0 L2 Cache : 0 Texture Memory : 0 Total : 0 Retired Pages Single Bit ECC : 0 Double Bit ECC : 0 Pending : No Temperature GPU Current Temp : 37 C GPU Shutdown Temp : 95 C GPU Slowdown Temp : 90 C Power Readings Power Management : Supported Power Draw : 66.41 W Power Limit : 235.00 W Default Power Limit : 235.00 W Enforced Power Limit : 235.00 W Min Power Limit : 180.00 W Max Power Limit : 235.00 W Clocks Graphics : 745 MHz SM : 745 MHz Memory : 3004 MHz Applications Clocks Graphics : 745 MHz Memory : 3004 MHz Default Applications Clocks Graphics : 745 MHz Memory : 3004 MHz Max Clocks Graphics : 875 MHz SM : 875 MHz Memory : 3004 MHz Clock Policy Auto Boost : N/A Auto Boost Default : N/A Processes : None

COMPILATION Problems

-- Building Release ==> Found Doxygen file for module nvbio-project -- Configuring done -- Generating done -- Build files have been written to: /home/ravi/Research/nvbio-1.1.00/build [ 8%] Built target zlib [ 17%] Built target zlibstatic [ 18%] Built target crcstatic [ 19%] Built target bamtools Linking CXX static library libmoderngpu.a [ 21%] Built target moderngpu [ 39%] Built target htslib Linking CXX static library libnvbio.a [ 61%] Built target nvbio ... nvbio-1.1.00/contrib/cub/block/specializations/../../block/../util_arch.cuh:178:0: warning: "CUB_PTX_PREFER_CONFLICT_OVER_PADDING" redefined [enabled by default]

define CUB_PTX_PREFER_CONFLICT_OVER_PADDING CUB_PREFER_CONFLICT_OVER_PADDING(CUB_PTX_VERSION)

^ In file included from /usr/local/cuda/include/thrust/system/cuda/detail/cub/block/specializations/../../block/../util_type.cuh:40:0, from /usr/local/cuda/include/thrust/system/cuda/detail/cub/block/specializations/../../block/../util_ptx.cuh:37, from /usr/local/cuda/include/thrust/system/cuda/detail/cub/block/specializations/../../block/block_exchange.cuh:36, from /usr/local/cuda/include/thrust/system/cuda/detail/cub/block/specializations/../../block/block_radix_sort.cuh:37, from /usr/local/cuda/include/thrust/system/cuda/detail/cub/block/specializations/block_histogram_sort.cuh:36, from /usr/local/cuda/include/thrust/system/cuda/detail/cub/block/block_histogram.cuh:36, from /usr/local/cuda/include/thrust/system/cuda/detail/cub/cub.cuh:38, from /usr/local/cuda/include/thrust/system/cuda/detail/cub.h:63, from /usr/local/cuda/include/thrust/system/cuda/detail/detail/stable_radix_sort.inl:28, from /usr/local/cuda/include/thrust/system/cuda/detail/detail/stable_radix_sort.h:86, from /usr/local/cuda/include/thrust/system/cuda/detail/detail/stable_primitive_sort.inl:21, from /usr/local/cuda/include/thrust/system/cuda/detail/detail/stable_primitive_sort.h:81, from /usr/local/cuda/include/thrust/system/cuda/detail/sort.inl:23, from /usr/local/cuda/include/thrust/system/cuda/detail/sort.h:59, from /usr/local/cuda/include/thrust/system/detail/adl/sort.h:32, from /usr/local/cuda/include/thrust/detail/sort.inl:27, from /usr/local/cuda/include/thrust/sort.h:1361, from /home/ravi/Research/nvbio-1.1.00/nvbio/basic/primitives.h:38, from /home/ravi/Research/nvbio-1.1.00/nvbio/strings/wavelet_tree.h:32, from /home/ravi/Research/nvbio-1.1.00/nvbio-test/wavelet_test.cu:34: /usr/local/cuda/include/thrust/system/cuda/detail/cub/block/specializations/../../block/../util_arch.cuh:190:0: note: this is the location of the previous definition

define CUB_PTX_PREFER_CONFLICT_OVER_PADDING CUB_PREFER_CONFLICT_OVER_PADDING(CUB_PTX_ARCH)

^ /home/ravi/Research/nvbio-1.1.00/nvbio/basic/iterator.h(101): error: class "nvbio::iterator_category_system<thrust::detail::iterator_category_with_system_and_traversal<thrust::random_access_device_iterator_tag, thrust::device_system_tag, thrust::random_access_traversal_tag>>" has no member "type" detected during: instantiation of class "nvbio::iterator_system [with iterator=nvbio::PackedStream<thrust::device_ptr, nvbio::uint8, 1U, true, nvbio::uint32>]" /home/ravi/Research/nvbio-1.1.00/nvbio/strings/wavelet_tree.h(80): here instantiation of class "nvbio::WaveletTree<BitStreamIterator, IndexIterator, SymbolType> [with BitStreamIterator=nvbio::PackedStream<thrust::device_ptr, nvbio::uint8, 1U, true, nvbio::uint32>, IndexIterator=thrust::detail::normal_iterator<thrust::device_ptr>, SymbolType=nvbio::uint8]" /home/ravi/Research/nvbio-1.1.00/nvbio-test/wavelet_test.cu(106): here

/home/ravi/Research/nvbio-1.1.00/nvbio/basic/iterator.h(101): error: class "nvbio::iterator_category_system<thrust::detail::iterator_category_with_system_and_traversal<thrust::random_access_device_iterator_tag, thrust::device_system_tag, thrust::random_access_traversal_tag>>" has no member "type" detected during: instantiation of class "nvbio::iterator_system [with iterator=thrust::device_ptr]" /home/ravi/Research/nvbio-1.1.00/nvbio/basic/packedstream_inl.h(1370): here instantiation of "void nvbio::assign(IndexType, InputIterator, nvbio::PackedStream<InputStream, Symbol, SYMBOL_SIZE_T, BIG_ENDIAN_T, IndexType>) [with InputIterator=thrust::transform_iterator<nvbio::select_bit_functor, thrust::detail::normal_iterator<thrust::device_ptr>, thrust::use_default, thrust::use_default>, InputStream=thrust::device_ptr, Symbol=nvbio::uint8, SYMBOL_SIZE_T=1U, BIG_ENDIAN_T=true, IndexType=nvbio::uint32]" /home/ravi/Research/nvbio-1.1.00/nvbio/strings/wavelet_tree_inl.h(197): here instantiation of "void nvbio::setup(index_type, const string_iterator &, nvbio::WaveletTreeStorage<system_tag, index_type, symbol_type> &) [with system_tag=nvbio::device_tag, string_iterator=thrust::detail::normal_iterator<thrust::device_ptr>, index_type=nvbio::uint32, symbol_type=nvbio::uint8]" /home/ravi/Research/nvbio-1.1.00/nvbio-test/wavelet_test.cu(97): here

/home/ravi/Research/nvbio-1.1.00/nvbio/basic/iterator.h(101): error: class "nvbio::iterator_category_system<thrust::detail::iterator_category_with_system_and_traversal<thrust::random_access_device_iterator_tag, thrust::device_system_tag, thrust::random_access_traversal_tag>>" has no member "type" detected during: instantiation of class "nvbio::iterator_system [with iterator=nvbio::PackedStream<thrust::device_ptr, nvbio::uint8, 1U, true, nvbio::uint32>]" /home/ravi/Research/nvbio-1.1.00/nvbio/strings/wavelet_tree.h(80): here instantiation of class "nvbio::WaveletTree<BitStreamIterator, IndexIterator, SymbolType> [with BitStreamIterator=nvbio::PackedStream<thrust::device_ptr, nvbio::uint8, 1U, true, nvbio::uint32>, IndexIterator=thrust::detail::normal_iterator<thrust::device_ptr>, SymbolType=nvbio::uint8]" /home/ravi/Research/nvbio-1.1.00/nvbio/strings/wavelet_tree.h(343): here instantiation of "nvbio::WaveletTreeStorage<SystemTag, IndexType, SymbolType>::plain_view_type nvbio::plain_view(nvbio::WaveletTreeStorage<SystemTag, IndexType, SymbolType> &) [with SystemTag=nvbio::device_tag, IndexType=nvbio::uint32, SymbolType=nvbio::uint8]" /home/ravi/Research/nvbio-1.1.00/nvbio-test/wavelet_test.cu(106): here

3 errors detected in the compilation of "/tmp/tmpxft_00004872_00000000-7_wavelet_test.cpp1.ii". CMake Error at nvbio-test_generated_wavelet_test.cu.o.cmake:264 (message): Error generating file /home/ravi/Research/nvbio-1.1.00/build/nvbio-test/CMakeFiles/nvbio-test.dir//./nvbio-test_generated_wavelet_test.cu.o

make[2]: [nvbio-test/CMakeFiles/nvbio-test.dir/./nvbio-test_generated_wavelet_test.cu.o] Error 1 make[1]: [nvbio-test/CMakeFiles/nvbio-test.dir/all] Error 2

Regards Ravi

vmiheer commented 6 years ago

@ravimanumachu, https://github.com/NVlabs/nvbio/issues/13#issuecomment-156530070, nvbio needs cuda 6.5. As an alternative I am looking at: https://github.com/ngstools/nvbio This repository "compiles". While compiling if you get erros -zlibstatic not found, Uncomment lines in CMakeLists.txt: add_subdirectory(contrib/zlib-1.2.7) add_subdirectory(contrib/htslib)

changephilip commented 5 years ago

@ravimanumachu, #13 (comment), nvbio needs cuda 6.5. As an alternative I am looking at: https://github.com/ngstools/nvbio This repository "compiles". While compiling if you get erros -zlibstatic not found, Uncomment lines in CMakeLists.txt: add_subdirectory(contrib/zlib-1.2.7) add_subdirectory(contrib/htslib)

Hello, I met similar errors during compiling the Nvbio. ngstools/nvbio cannot be found on the internet. Could you provide a git patch to help me compile the program? Thank you very much!

vmiheer commented 5 years ago

@changephilip, Try this: https://github.com/vmiheer/nvbio There are commits from a user the ngstool author Tony which I won't vouch for. Please verify that code before using. Thanking you, +miheer.

r-barnes commented 4 years ago

master now permits compilation with newer versions of CUDA and GCC and incorporates a number of bug fixes. This issue can probably be closed (@foertter ).

vmiheer commented 4 years ago

Maybe @foertter should be in README.md as contact person? 🙂

BlingLee commented 3 months ago

也许应该在 README.md 作为联系人?🙂

Hello, I am having problems compiling nvbio and my cuda toolkit version is 12.1. the following is error: [ 66%] Building CXX object nvbio-test/CMakeFiles/nvbio-test.dir/sum_tree_test.cpp.o /home/bling07/Downloads/nvbio/nvbio-test/nvbio-test.cpp: In function ‘int main(int, char)’: /home/bling07/Downloads/nvbio/nvbio-test/nvbio-test.cpp:101:9: error: reference to ‘cuda’ is ambiguous cuda::check_error("cuda-check"); ^~~~ In file included from /usr/local/cuda-12.1/include/cuda/std/version:13:0, from /usr/local/cuda-12.1/include/cuda/std/cstddef:20, from /usr/local/cuda-12.1/include/cuda/std/type_traits:17, from /usr/local/cuda-12.1/include/thrust/detail/type_traits.h:27, from /usr/local/cuda-12.1/include/thrust/detail/execute_with_allocator_fwd.h:21, from /usr/local/cuda-12.1/include/thrust/detail/allocator_aware_execution_policy.h:20, from /usr/local/cuda-12.1/include/thrust/system/cuda/detail/execution_policy.h:37, from /usr/local/cuda-12.1/include/thrust/iterator/detail/device_system_tag.h:23, from /home/bling07/Downloads/nvbio/nvbio/basic/types.h:35, from /home/bling07/Downloads/nvbio/nvbio-test/nvbio-test.cpp:34: /usr/local/cuda-12.1/include/cuda/std/detail/config:183:14: note: candidates are: namespace cuda { } namespace cuda { namespace std { inline namespace _LIBCUDACXX_CUDA_ABI_NAMESPACE { ^ /usr/local/cuda-12.1/include/cuda/std/cstddef:26:1: note: in expansion of macro ‘_LIBCUDACXX_BEGIN_NAMESPACE_STD’ _LIBCUDACXX_BEGIN_NAMESPACE_STD ^~~~~~~ In file included from /home/bling07/Downloads/nvbio/nvbio-test/nvbio-test.cpp:37:0: /home/bling07/Downloads/nvbio/nvbio/basic/cuda/arch.h:56:11: note: namespace nvbio::cuda { } namespace cuda { ^~~~ /home/bling07/Downloads/nvbio/nvbio-test/nvbio-test.cpp:206:37: error: reference to ‘cuda’ is ambiguous if (tests & kScan) cuda::scan_test(); ^~~~ In file included from /usr/local/cuda-12.1/include/cuda/std/version:13:0, from /usr/local/cuda-12.1/include/cuda/std/cstddef:20, from /usr/local/cuda-12.1/include/cuda/std/type_traits:17, from /usr/local/cuda-12.1/include/thrust/detail/type_traits.h:27, from /usr/local/cuda-12.1/include/thrust/detail/execute_with_allocator_fwd.h:21, from /usr/local/cuda-12.1/include/thrust/detail/allocator_aware_execution_policy.h:20, from /usr/local/cuda-12.1/include/thrust/system/cuda/detail/execution_policy.h:37, from /usr/local/cuda-12.1/include/thrust/iterator/detail/device_system_tag.h:23, from /home/bling07/Downloads/nvbio/nvbio/basic/types.h:35, from /home/bling07/Downloads/nvbio/nvbio-test/nvbio-test.cpp:34: /usr/local/cuda-12.1/include/cuda/std/detail/config:183:14: note: candidates are: namespace cuda { } namespace cuda { namespace std { inline namespace _LIBCUDACXX_CUDA_ABI_NAMESPACE { ^ /usr/local/cuda-12.1/include/cuda/std/cstddef:26:1: note: in expansion of macro ‘_LIBCUDACXX_BEGIN_NAMESPACE_STD’ _LIBCUDACXX_BEGIN_NAMESPACE_STD ^~~~~~~ In file included from /home/bling07/Downloads/nvbio/nvbio-test/nvbio-test.cpp:37:0: /home/bling07/Downloads/nvbio/nvbio/basic/cuda/arch.h:56:11: note: namespace nvbio::cuda { } namespace cuda { ^~~~ make[2]: ** [nvbio-test/CMakeFiles/nvbio-test.dir/build.make:199:nvbio-test/CMakeFiles/nvbio-test.dir/nvbio-test.cpp.o] 错误 1 make[2]: 正在等待未完成的任务.... make[1]: [CMakeFiles/Makefile2:924:nvbio-test/CMakeFiles/nvbio-test.dir/all] 错误 2 make: [Makefile:130:all] 错误 2