chanzuckerberg / shasta

[MOVED] Moved to paoloshasta/shasta. De novo assembly from Oxford Nanopore reads
Other
272 stars 59 forks source link

Can SHASTA be run in a CPU & GPU, or GPU only mode? #232

Closed cement-head closed 3 years ago

cement-head commented 3 years ago

Hi,

Is there an option for SHASTA to make use of GPUs (CUDA)?

Thanks

paoloczi commented 3 years ago

At one point Shasta included GPU support, and it was released in version 0.4.0. However the developer of the GPU code was not able to continue to support it to keep it in sync with the CPU side. As a result, after some algorithmic improvements on the CPU side the GPU code became slower than the CPU code on all practical configurations. Because of that, we decided to drop GPU support.

Given this experience, it is unlikely that GPU support will be added back. If somebody is interested in writing GPU code for Shasta, my suggestion would be to do this in a separate repository.

Shasta is reasonably fast even without using GPUs. A typical human genome assembly at 60X coverage currently takes about 3 hours. A human assembly at 20X coverage currently runs in about one hour on an ARM Graviton2 machine with 64 processors (AWS instance type r6g.16xlarge). Other assemblers are significantly slower - see our paper for some comparisons.