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

cannot compile - gcc 4.8.5 - cuda 8.0.61 - GTX 1080s #22

Closed ifelsefi closed 4 years ago

ifelsefi commented 5 years ago

Hi

I am getting an insane amount of errors when compiling. Does this program support newer CUDA and GPUs?

screenshot from 2019-01-23 10-40-40

screenshot from 2019-01-23 10-41-00

martinjvickers commented 5 years ago

This repo hasn't been updated in years, however someone did fork it a while back which may be useful for you.

https://github.com/vmiheer/nvbio

If you do manage to get anything working, please do update me or post a gist or something as it'd be very useful. It's a shame that this library hasn't had much attention as it could be really useful.

ifelsefi commented 5 years ago

Hi @martinjvickers I was able to at least compile and so now nvBowtie seems to "work." I am asking users to run and see if it actually outputs expected data.

Thanks, I'll try that fork as well.

ifelsefi commented 5 years ago

Hi @martinjvickers so I tried the fork but get this error with cuda 6.5

[ 18%] Building CXX object contrib/crc/CMakeFiles/crcstatic.dir/crc.o
[ 18%] Linking CXX static library libcrcstatic.a
[ 18%] Built target crcstatic
[ 18%] Building CXX object contrib/bamtools/CMakeFiles/bamtools.dir/BamReader.cpp.o
[ 18%] Building CXX object contrib/bamtools/CMakeFiles/bamtools.dir/BamWriter.cpp.o
[ 19%] Building CXX object contrib/bamtools/CMakeFiles/bamtools.dir/BGZF.cpp.o
In file included from /softlib/apps/EL7/nvbio/nvbio/basic/numbers.h:34:0,
                 from /softlib/apps/EL7/nvbio/nvbio/basic/threads.h:31,
                 from /softlib/apps/EL7/nvbio/contrib/bamtools/BGZF.cpp:15:
/softlib/apps/EL7/nvbio/nvbio/basic/iterator.h:102:33: error: ‘iterator_category_with_system_and_traversal’ is not a member of ‘thrust::detail’
 struct iterator_category_system<thrust::detail::iterator_category_with_system_and_traversal<
                                 ^
/softlib/apps/EL7/nvbio/nvbio/basic/iterator.h:102:33: error: ‘iterator_category_with_system_and_traversal’ is not a member of ‘thrust::detail’
/softlib/apps/EL7/nvbio/nvbio/basic/iterator.h:105:1: error: ‘random_access_traversal_tag’ is not a member of ‘thrust’
 thrust::random_access_traversal_tag>
 ^
/softlib/apps/EL7/nvbio/nvbio/basic/iterator.h:105:1: error: ‘random_access_traversal_tag’ is not a member of ‘thrust’
/softlib/apps/EL7/nvbio/nvbio/basic/iterator.h:105:36: error: wrong number of template arguments (3, should be 1)
 thrust::random_access_traversal_tag>
                                    ^
In file included from /softlib/apps/EL7/nvbio/nvbio/basic/numbers.h:34:0,
                 from /softlib/apps/EL7/nvbio/nvbio/basic/threads.h:31,
                 from /softlib/apps/EL7/nvbio/contrib/bamtools/BGZF.cpp:15:
/softlib/apps/EL7/nvbio/nvbio/basic/iterator.h:83:46: error: provided for ‘template<class iterator_category> struct nvbio::iterator_category_system’
 template <typename iterator_category> struct iterator_category_system {};
                                              ^
In file included from /softlib/apps/EL7/nvbio/nvbio/basic/numbers.h:34:0,
                 from /softlib/apps/EL7/nvbio/nvbio/basic/threads.h:31,
                 from /softlib/apps/EL7/nvbio/contrib/bamtools/BGZF.cpp:15:
/softlib/apps/EL7/nvbio/nvbio/basic/iterator.h:106:1: error: expected unqualified-id before ‘>’ token
 > {
 ^
/softlib/apps/EL7/nvbio/nvbio/basic/iterator.h:111:33: error: ‘iterator_category_with_system_and_traversal’ is not a member of ‘thrust::detail’
 struct iterator_category_system<thrust::detail::iterator_category_with_system_and_traversal<
                                 ^
/softlib/apps/EL7/nvbio/nvbio/basic/iterator.h:111:33: error: ‘iterator_category_with_system_and_traversal’ is not a member of ‘thrust::detail’
/softlib/apps/EL7/nvbio/nvbio/basic/iterator.h:114:1: error: ‘random_access_traversal_tag’ is not a member of ‘thrust’
 thrust::random_access_traversal_tag>
 ^
/softlib/apps/EL7/nvbio/nvbio/basic/iterator.h:114:1: error: ‘random_access_traversal_tag’ is not a member of ‘thrust’
/softlib/apps/EL7/nvbio/nvbio/basic/iterator.h:114:36: error: wrong number of template arguments (3, should be 1)
 thrust::random_access_traversal_tag>
                                    ^
In file included from /softlib/apps/EL7/nvbio/nvbio/basic/numbers.h:34:0,
                 from /softlib/apps/EL7/nvbio/nvbio/basic/threads.h:31,
                 from /softlib/apps/EL7/nvbio/contrib/bamtools/BGZF.cpp:15:
/softlib/apps/EL7/nvbio/nvbio/basic/iterator.h:83:46: error: provided for ‘template<class iterator_category> struct nvbio::iterator_category_system’
 template <typename iterator_category> struct iterator_category_system {};
                                              ^
In file included from /softlib/apps/EL7/nvbio/nvbio/basic/numbers.h:34:0,
                 from /softlib/apps/EL7/nvbio/nvbio/basic/threads.h:31,
                 from /softlib/apps/EL7/nvbio/contrib/bamtools/BGZF.cpp:15:
/softlib/apps/EL7/nvbio/nvbio/basic/iterator.h:115:1: error: expected unqualified-id before ‘>’ token
 > {
 ^
make[2]: *** [contrib/bamtools/CMakeFiles/bamtools.dir/BGZF.cpp.o] Error 1
make[1]: *** [contrib/bamtools/CMakeFiles/bamtools.dir/all] Error 2
make: *** [all] Error 2

Emailed @jpantaleoni and @nsubtil but no reply.

ifelsefi commented 5 years ago

OK, I was able to compile code in this repo using cuda 6.5 but now I get:

verbose :   mode           = best
verbose :   scoring        = sw
verbose :   score-min      = linear:-0.60:-0.60
verbose :   alignment type = local
verbose :   pe-policy      = fr
verbose :   seed length    = 20
verbose :   seed interval  = (S, 1.000, 0.500)
verbose :   seed rounds    = 3
verbose :   max hits       = 100
verbose :   max edit dist  = 15
verbose :   max effort     = 20
verbose :   substitutions  = 0
verbose :   mapq filter    = 0
verbose :   randomized     = yes
visible : [0] nvBowtie cuda driver created on device 1
stats   : [0]   allocated device driver data (2.32 GB - 0.8s)
stats   : [0]   estimated allocation sizes: HOST 0 MB, DEVICE 3834 MB)
verbose : starting background paired-end input thread
visible : [0] nvBowtie cuda driver... started
stats   : [0]   device has 12761 of 16160 MB free
stats   : [0]   processing reads in batches of 1024K
stats   : [0]   allocating alignment buffers... started
stats   : [0]     estimated: HOST 0 MB, DEVICE 3834 MB)
verbose : [0]     allocating 384 MB of string storage
verbose : [0]       CIGARs : 128 MB
verbose : [0]       MDs    : 256 MB
verbose : [0]     allocating 1468 MB of DP storage
stats   : [0]   allocating alignment buffers... done
stats   : [0]     allocated: HOST 0 MB, DEVICE 3834 MB)
stats   : [0]   ready to start processing: device has 8925 MB free
info    : [0] aligning reads [0, 1048575]
verbose : [0]   1048576 reads
verbose : [0]   106.955 M bps (153.0 MB)
verbose : [0]   51.0 bps/read (min: 51, max: 51)
error   : opposite-score kernel: an illegal memory access was encountered
terminate called after throwing an instance of 'thrust::system::system_error'
  what():  an illegal memory access was encountered
Aborted (core dumped)
ifelsefi commented 5 years ago

I then see this in syslog:

Feb  7 12:59:58 cantley-node02 kernel: NVRM: Xid (PCI:0000:1c:00): 13, Graphics SM Warp Exception on (GPC 5, TPC 5, SM 0): Out Of Range Address
Feb  7 12:59:58 cantley-node02 kernel: NVRM: Xid (PCI:0000:1c:00): 13, Graphics SM Global Exception on (GPC 5, TPC 5, SM 0): Multiple Warp Errors
Feb  7 12:59:58 cantley-node02 kernel: NVRM: Xid (PCI:0000:1c:00): 13, Graphics Exception: ESR 0x52ef30=0x217000e 0x52ef34=0x24 0x52ef28=0x4c1eb72 0x52ef2c=0x174
Feb  7 12:59:58 cantley-node02 kernel: NVRM: Xid (PCI:0000:1c:00): 13, Graphics SM Warp Exception on (GPC 5, TPC 5, SM 1): Out Of Range Address
Feb  7 12:59:58 cantley-node02 kernel: NVRM: Xid (PCI:0000:1c:00): 13, Graphics SM Global Exception on (GPC 5, TPC 5, SM 1): Multiple Warp Errors
Feb  7 12:59:58 cantley-node02 kernel: NVRM: Xid (PCI:0000:1c:00): 13, Graphics Exception: ESR 0x52efb0=0x21e000e 0x52efb4=0x24 0x52efa8=0x4c1eb72 0x52efac=0x174
Feb  7 12:59:58 cantley-node02 kernel: NVRM: Xid (PCI:0000:1c:00): 13, Graphics Exception: ChID 0010, Class 0000c3c0, Offset 00000510, Data 00419e84
ifelsefi commented 5 years ago

Good lord

I am seeing life

[root@cantley-node02 build]# nvidia-smi
Thu Feb  7 13:05:55 2019       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 396.44                 Driver Version: 396.44                    |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  Tesla V100-SXM2...  Off  | 00000000:1A:00.0 Off |                    0 |
| N/A   60C    P0   271W / 300W |   8489MiB / 16160MiB |     99%      Default |
+-------------------------------+----------------------+----------------------+
|   1  Tesla V100-SXM2...  Off  | 00000000:1C:00.0 Off |                    0 |
| N/A   52C    P0    80W / 300W |   8509MiB / 16160MiB |    100%      Default |
+-------------------------------+----------------------+----------------------+
|   2  Tesla V100-SXM2...  Off  | 00000000:1D:00.0 Off |                    0 |
| N/A   55C    P0   214W / 300W |   8485MiB / 16160MiB |     99%      Default |
+-------------------------------+----------------------+----------------------+
|   3  Tesla V100-SXM2...  Off  | 00000000:1E:00.0 Off |                    0 |
| N/A   52C    P0    68W / 300W |   8485MiB / 16160MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|    0     19158      C   .../apps/EL7/nvbio/build/nvBowtie/nvBowtie  8478MiB |
|    1     19158      C   .../apps/EL7/nvbio/build/nvBowtie/nvBowtie  8498MiB |
|    2     19158      C   .../apps/EL7/nvbio/build/nvBowtie/nvBowtie  8474MiB |
|    3     19158      C   .../apps/EL7/nvbio/build/nvBowtie/nvBowtie  8474MiB |
+-----------------------------------------------------------------------------+

Basically I dropped the command-line argument -X 2000 and it seems to be working? Will have users test to see if we actually get good output.

vmiheer commented 5 years ago

@ifelsefi, did you run ./build/nvbio-test/nvbio-test? What was the result? I am trying to build with cuda10 and wanted to make sure it doesn't introduce new bugs.

vmiheer commented 5 years ago

I have made some fixes so the repository builds with cuda 10 😄. https://github.com/vmiheer/nvbio/commit/fb511129d75621b5932253f2b443295ba278064f Ideally I would like to make sure nvbio-test doesn't regress compared to cuda 6.5. But I as of now I haven't confirmed. I have listed issues in https://github.com/vmiheer/nvbio/issues/1.