NVIDIA-Genomics-Research / GenomeWorks

SDK for GPU accelerated genome assembly and analysis
https://clara-parabricks.github.io/GenomeWorks/
Apache License 2.0
286 stars 76 forks source link

[cudamapper] Minimizer uses thrust::inclusive_scan #545

Closed mimaric closed 4 years ago

mimaric commented 4 years ago

Minimizer::generate_sketch_elements() now uses thrust::inclusive_scan() to determine positions of reads' minimizers on device, instead of doing it on host. Total number of reads is small and the total number of minimizers still has to be copied to host so performance gains are not big, but it makes the code significantly cleaner.

This PR also removes cudaStreamSynchronize() from the end of Minimizer::generate_sketch_elements(), but note that freeing device_buffers (for now) contains calls to cudaStreamSynchronize()