Boosting the FM-index on the GPU

The recent advent of high-throughput sequencing machines producing big amounts of short reads has boosted the interest in efficient string searching techniques. As of today, many mainstream sequence alignment software tools rely on a special data structure, called the FM-index, which allows for fast...

Descripción completa

Detalles Bibliográficos
Autores: Chacón, Alejandro|||0000-0001-8851-7618, Marco-Sola, Santiago|||0000-0001-7951-3914, Espinosa, Antonio|||0000-0002-6460-3789, Ribeca, Paolo, Moure, Juan C|||0000-0001-6697-0331
Tipo de recurso: artículo
Fecha de publicación:2015
País:España
Institución:Universitat Autònoma de Barcelona
Repositorio:Dipòsit Digital de Documents de la UAB
Idioma:inglés
OAI Identifier:oai:ddd.uab.cat:131873
Acceso en línea:https://ddd.uab.cat/record/131873
https://dx.doi.org/urn:doi:10.1109/TCBB.2014.2377716
Access Level:acceso abierto
Palabra clave:GPGPU
Bioinformatics
Short read mapping
FM-index
Fine-grain parallelism
Memory-level parallelism
Descripción
Sumario:The recent advent of high-throughput sequencing machines producing big amounts of short reads has boosted the interest in efficient string searching techniques. As of today, many mainstream sequence alignment software tools rely on a special data structure, called the FM-index, which allows for fast exact searches in large genomic references. However, such searches translate into a pseudo-random memory access pattern, thus making memory access the limiting factor of all computation-efficient implementations, both on CPUs and GPUs. Here we show that several strategies can be put in place to remove the memory bottleneck on the GPU: more compact indexes can be implemented by having more threads work cooperatively on larger memory blocks, and a k-step FM-index can be used to further reduce the number of memory accesses. The combination of those and other optimisations yields an implementation that is able to process about 2 Gbases of queries per second on our test platform, being about 8× faster than a comparable multi-core CPU version, and about 3× to 5× faster than the FM-index implementation on the GPU provided by the recently announced Nvidia NVBIO bioinformatics library.