albertozeni / LOGAN

LOGAN: High-Performance Multi-GPU X-Drop Long-Read Alignment.
Other
27 stars 4 forks source link

too few arguments in function call #1

Closed zjin-lcf closed 4 years ago

zjin-lcf commented 4 years ago

nvcc -arch=sm_70 -O3 -maxrregcount=32 -std=c++11 -Xcompiler -fopenmp demo.cu -o demo -D ADAPTABLE demo.cu(134): error: too few arguments in function call

Thanks for your fix.

May you please tell how a user can verify the GPU result ?

Thanks

zjin-lcf commented 4 years ago

417 inline void extendSeedL(vector &seeds, 418 ExtensionDirectionL direction, 419 vector &target, 420 vector &query, 421 vector &penalties, 422 int const& XDrop, 423 int const& kmer_length, 424 int *res, 425 int numAlignments, 426 int ngpus, 427 int n_threads 428 // long int cups 429 )

That may solve the issue

albertozeni commented 4 years ago

hi, let me look into that, I just saw the issue

albertozeni commented 4 years ago

Ok, I saw where the error is, some parts of the code where updated without updating other parts, I will fix the code asap, the GCUPS computation basically broke the code. Also regarding the correctness of the alignments, our software performs the same exact alignment as the XDROP function present in seqan.

albertozeni commented 4 years ago

There is a version of the software on the repo that runs both alignments (GPU and SeqAn) and tests correctness, I will update the readme.

zjin-lcf commented 4 years ago

Okay. I noticed that you measure the data transfer time for the cuda function 'memcpyAsync'. I recall that it is asynchronous memory copy.

Thanks for your updates!

albertozeni commented 4 years ago

Hi, code fixed. The transfer time measuring remained like that since the first version of the code when I was still using synchronous memory transfers, when I switched to asynchronous transfers I used that metric to see how much overhead it was to malloc the variables instead of pinning the memory. I just left it there even though it is not technically correct to call it transfer time. The time that we show on the README comprehend all the time spent by the software to setup inputs, transfer and run on GPU, not only the GPU compute time so don't worry about those times.