RWilton / Arioc

Arioc: GPU-accelerated DNA short-read alignment
BSD 3-Clause "New" or "Revised" License
55 stars 8 forks source link

Memory usage requirements for large genomes #14

Closed andreaswallberg closed 3 years ago

andreaswallberg commented 3 years ago

Dear developers,

This looks like a very interesting tool and is timely for many research groups now that Nvidia RTX 30x0 generation GPUs are becoming available.

I am working on a genome project centered on a species with a very large genome (18-19Gbp) and we need to map a lot of short-read data against this genome (approximately 140x coverage). While we have access to many CPUs in conventional clusters, it would be interesting to run Arioc on our GPU machines.

I wonder what kind of memory requirements we need to consider when 1) making the lookup table and 2) running the actual application. For example, is a machine with 256GB RAM and Nvidia RTX 3090 GPU expected to be able to carry out any of these two step in an efficient manner?

RWilton commented 3 years ago

My guess is that building the genome index files with AriocE will be problematic with a 256GB computer. I do not recall how much system RAM was required for the wheat and axolotl genomes (the largest I have built with AriocE) but I am pretty certain that I used a 512GB machine to do it.

Please try to run AriocE with your reference genome. If this fails due to insufficient memory, feel free to contact me offline and I will try to find a way to do it for you locally on a large-memory machine.

The Arioc aligner ought to be comfortable running in 24GB of GPU RAM, but whether 256GB of system RAM is sufficient will depend on the size of the genome reference index. Again, there is only one way to find out!

andreaswallberg commented 3 years ago

Thanks for the quick answer!

Is the GPU active and required also for making the genome index files, or can that be run on a machine without a GPU?

RWilton commented 3 years ago

A GPU is optional for building the genome reference files. AriocE can use a GPU for sorting to cut 10 minutes or more from overall execution time, so the larger the genome, the more beneficial GPU acceleration will be. Specify the gpuMask parameter in the AriocE configuration file to configure this.