title: BowMapCL: Burrows-Wheeler Mapping on Multiple Heterogeneous Accelerators.
abstract: The computational demand of exact-search procedures has pressed the exploitation of parallel processing accelerators to reduce the execution time of many applications. However, this often imposes strict restrictions in terms of the problem size and implementation efforts, mainly due to their possibly distinct architectures. To circumvent this limitation, a new exact-search alignment tool (BowMapCL) based on the Burrows-Wheeler Transform and FM-Index is presented. Contrasting to other alternatives, BowMapCL is based on a unified implementation using OpenCL, allowing the exploitation of multiple and possibly different devices (e.g., NVIDIA, AMD/ATI, and Intel GPUs/APUs). Furthermore, to efficiently exploit such heterogeneous architectures, BowMapCL incorporates several techniques to promote its performance and scalability, including multiple buffering, work-queue task-distribution, and dynamic load-balancing, together with index partitioning, bit-encoding, and sampling. When compared with state-of-the-art tools, the attained results showed that BowMapCL (using a single GPU) is 2 × to 7.5 × faster than mainstream multi-threaded CPU BWT-based aligners, like Bowtie, BWA, and SOAP2; and up to 4 × faster than the best performing state-of-the-art GPU implementations (namely, SOAP3 and HPG-BWT). When multiple and completely distinct devices are considered, BowMapCL efficiently scales the offered throughput, ensuring a convenient load-balance of the involved processing in the several distinct devices.
authors.forename: David
authors.initials: D
authors.lastname: Nogueira
authors.forename: Pedro
authors.initials: P
authors.lastname: Tomas
authors.forename: Nuno
authors.initials: N
authors.lastname: Roma
mesh_terms: D000465:Algorithms; D003196:Computer Graphics; D059014:High-Throughput Nucleotide Sequencing / Q000379:methods*; D016247:Information Storage and Retrieval / Q000379:methods*; D000069550:Machine Learning; D010363:Pattern Recognition, Automated / Q000379:methods*; D016415:Sequence Alignment / Q000379:methods*; D017421:Sequence Analysis / Q000379:methods; D012815:Signal Processing, Computer-Assisted