Communication Optimization on GPU: A Case Study of Sequence Alignment Algorithms

Communication Optimization on GPU: A Case Study of Sequence Alignment Algorithms
复制标题

GPU 上的通信优化:序列对齐算法案例研究

DOI:
10.1109/ipdps.2017.79
复制
发表时间:
2017
期刊:
2017 IEEE International Parallel and Distributed Processing Symposium (IPDPS)
影响因子:
--
通讯作者:
J. Cong
J. Cong
中科院分区:
--
文献类型:
--
作者:
Jie Wang;Xinfeng Xie;J. Cong

文献摘要

被引文献

相似文献

数据运动越来越成为现代计算中性能和能源效率的瓶颈,直到最近,在GPU上进行沟通优化的自由度有限,因为传统的GPU只提供了两种类型的线际上的方法:但是,自NVIDIA GPU上的Kepler架构以来,已经引入了共享内存或全局内存。 - 在这项工作中,我们在序列对齐的应用程序域(或类似地,弦匹配)中部署了寄存器,并对使用寄存器的机会和局限性进行定量分析。 - 与使用共享记忆的实施相比,从广泛使用的基因组分析工具包(GATK)中,水域(SW)和成对隐藏的杂志模型(Pairhmm),我们获得了1.2×和2.1的显着速度×通过使用SW和PAIRHMM的调整说明。性能优化。
Data movement is increasingly becoming the bottleneck of both performance and energy efficiency in modern computation. Until recently, it was the case that there is limited freedom for communication optimization on GPUs, as conventional GPUs only provide two types of methods for inter-thread communication: using shared memory or global memory. However, a new warp shuffle instruction has been introduced since the Kepler architecture on Nvidia GPUs, which enables threads within the same warp to directly exchange data in registers. This brought new performance optimization opportunities for algorithms with intensive inter-thread communication. In this work, we deploy register shuffle in the application domain of sequence alignment (or similarly, string matching), and conduct a quantitative analysis of the opportunities and limitations of using register shuffle. We select two sequence alignment algorithms, Smith-Waterman (SW) and Pairwise-Hidden-Markov-Model (PairHMM), from the widely used Genome Analysis Toolkit (GATK) as case studies. Compared to implementations using shared memory, we obtain a significant speed-up of 1.2× and 2.1× by using shuffle instructions for SW and PairHMM. Furthermore, we develop a performance model for analyzing the kernel performance based on the measured shuffle latency from a suite of microbenchmarks. Our model provides valuable insights for CUDA programmers into how to best use shuffle instructions for performance optimization.