GPU加速生物序列比对分析-Nvidia
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
GPU 加速生物序列比对分析- 中山大学广东省计算科学重点实验室背景
生物信息学是把基因组DNA、RNA和蛋白质序列信息分
析作为源头,分析生命本质和进化过程,同时对新药和
新疗法的发现具有重要意义。
生物信息学已成为介于生
物学和计算机科学学科前沿的重要学科,在许多方面影
响着医学、生物技术和人类社会。
中山大学生命科学院环境生物学研究需要使用宏基因组
学(metagenomics)的方法研究环境与微生物的关系。
数以千万计的短DNA序列被分析以确定微生物的功能和
分类。
这一过程通过比对转录的DNA序列和NR等蛋白质
数据库确定被表达的基因。
原有的NCBI-BLASTX软件速度慢,已经成为分析的瓶颈。
中山大学“南方一号” GPU
集群装备了254张的NVIDIA Tesla T2050 GPU 卡。
如何用GPU加速BLASTX,就成了实验室一个重要的研究课题。
在已标记的生物数据库中搜索给定DNA或者蛋白质序列
的局部同源片段是序列比对的基本方法之一。
该类比对
方法中敏感度最高的是 BLAST(Basic Local Alignment Search Tool)。
自1990年以来,BLAST 被成功地广泛应
用在功能识别、基因标记、进化分析等领域,研究成果
发表在Nature等杂志;并且BLAST的论文被引用次数超过10万。
最流行的BLAST 软件是NCBI-BLAST。
它是美国国
立卫生研究院(National Institutes of Health,NIH)下属
美国国立生物技术信息中心NCBI (National Center for Biotechnology Information)推出的。
BLAST 支持不同的
查询方式。
例如,BLASTP 在蛋白质数据库中搜索蛋白质
序列的同源片段;BLASTX 在蛋白质数据库中确认被转录
的DNA序列。
挑战
随着高通量测序技术的发展,基因测序的速度越来越快,生物序列和数据库呈现爆发式增长。
序列比对已经成为
序列分析的瓶颈。
这在宏基因组学研究方面尤为突出。
BLASTX由于敏感度高,长期是宏基因组学研究中不可缺
失的工具。
但是,在高通量测试出现后,GB级短序列和GB级数据库之间的序列比对任务大量出现。
BLASTX的运
算速度无法满足快速分析的要求。
在保证敏感度的前提下,使用硬件加速是提升BLASTX运
算速度的有效途径。
例如使用超级计算机集群和mpiBLAST软件,可以将计算速度提升1000倍。
近年来,
国内CPU+GPU异构计算机蓬勃发展。
例如,“天河一号A”超级计算机就装备了大量的NVIDIA Tesla GPU 卡。
如何利
用CPU+GPU的异构计算机提升BLASTX的运算速度就是一
个很有现实意义的研究课题。
实现不同CPU+GPU异构计算机硬件环境下加速算法的性
能可移植性(performance portability)是当前的一个挑战。
加速异构计算机上软件并不能靠简单更换新CPU或者GPU
硬件完成。
这与传统CPU架构上的软件是不同的。
要实现
加速算法的性能可移植性,必须要有适合新硬件的运行
参数。
例如CPU和GPU之间的任务分配比例,GPU内核的
线程配置等。
方案
为加速生物序列比对,中山大学广东省计算科学重点实
验室推出了H-BLAST软件。
利用异构CPU+GPU加速平台,
H-BLAST软件提供两种序列比对算法及软件包:H-BLASTP
和 H-BLASTX。
其中,H-BLASTP实现了在蛋白质数据库中
查询未知蛋白质序列的比对结果;H-BLASTX实现了在蛋
白质数据库中查询未知DNA序列的比对结果。
H-BLAST软件的特点有:
1. 支持多CPU、多GPU协同工作;
2. 保证计算结果与 NCBI-BLAST 完全一致;
3. 支持批量序列数据查询;
4. 加速明显,单CPU核心加单GPU卡的加速性能比单线程 NCBI-BLASTP高4到6倍, 对单线程 NCBI-BLASTX加速达7.3倍,对无插空单线程 NCBI-BLASTP加速达9.5倍,多GPU卡加速接近线性;
5. 支持自动和手动性能调优,并支持自适应CPU-GPU负载均衡,实现加速算法在不同硬件环境下的性能可移植性;
6. 兼容现有各代 NVIDIA GPU,以及4.0以上版本的 CUDA 环境;
7. 对GPU内存容量需求低,在同样大小的GPU内核的线程配置下,中间结果的内存需求量最多可以比卡内基梅隆大学 GPU-BLAST 的减少87.5%.
H-BLAST软件已经在多种软硬件平台上进行过测试。
测试环境包括:中山大学“南方一号”GPU计算集群(CentOS 5.5 + CUDA 4.2 的软件环境和单节点12核CPU + 6张 NVIDIA Tesla C2050 GPU卡的硬件环境),广州超算“天河二号先导系统”(麒麟系统 + CUDA 4.0 的软件环境和单节点12核CPU +2张 NVIDIA Tesla C2050 GPU卡的硬件环境),高性能服务器(CentOS 6 + CUDA 5.5的软件环境和单节点16核CPU +2张NVIDIA Tesla K20x GPU卡的硬件环境)以及 PC(CentOS 6 + CUDA 6.0的软件环境和2张NVIDA GTX 560 GPU卡的硬件环境)。
影响
目前,H-BLAST软件已经安装在中山大学“南方一号”GPU计算集群上,并作为超算软件服务平台的一部分。
该软件服务于中山大学以及广东相关的生物信息学研究。
结合多GPU卡,H-BLAST软件使单计算节点的BLASTX分析速度提升数倍。
近来,我们正在针对最新的NVIDIA Tesla K40和K80 GPU卡进行测试和调优,期望进一步提升软件的性能。