From NetSysLab

Jump to: navigation, search


Optimizing genome sequence alignment for GPU offloading

GPUs offer drastically different performance characteristics compared to traditional multicore architectures. To explore the tradeoffs exposed by this difference, we refactor MUMmer, a widely-used, highly-engineered bioinformatics application which has both CPU- and GPU-based implementations.

We synthesize our experience as three high-level guidelines to design efficient GPU-based applications. First, minimizing the communication overheads is as important as optimizing the computation. Second, trading-off higher computational complexity for a more compact in-memory representation is a valuable technique to increase overall performance (by enabling higher parallelism levels and reducing transfer overheads). Finally, ensuring that the chosen solution entails low pre- and post-processing overheads is essential to maximize the overall performance gains. Based on these insights, MUMmerGPU++, our GPU-based design of the MUMmer sequence alignment tool, achieves, on realistic workloads, up to 4x speedup compared to a previous, highly optimized GPU port.


Abdullah Gharaibeh
Matei Ripeanu


MUMmerGPU++ V0.1


[2] Accelerating Sequence Alignment on Hybrid Architectures, Abdullah Gharaibeh, Matei Ripeanu, Scientific Computing Magazine, January/February 2011. pdf
[1] Size Matters: Space/Time Tradeoffs to Improve GPGPU Applications Performance, Abdullah Gharaibeh and Matei Ripeanu, IEEE/ACM International Conference for High Performance Computing, Networking, Storage, and Analysis (SC 2010), New Orleans, LA, November 2010. (acceptance rate 20%) pdf slides

Related Links

nVidia's BioWorkBench link
The original MUMmer and MUMmerGPU packages