基于GPU的BLAST程序的并行计算的研究

来源 :浙江理工大学 | 被引量 : 0次 | 上传用户:caifubaguoguo
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
基本局部匹配查询工具BLAST是用来快速比较序列的生物信息学工具,它是一种启发式的算法。最大可能地找出序列匹配中出现的相似性序列是该算法的本质目的,即找出Maximum-length Sequence Pairs (MSP),将相似度最高的分数记录下来,要求在匹配的区域不能出现空位。PSI-BLAST,位点特异迭代BLAST,将选中的字串长度标准进行了延伸,而且在匹配中对空位没有要求,相比对BLAST,比对速度提高了三倍。基于BLAST解决大规模序列匹配时耗费了大量的时间,而又无法做到实时性,结合GPU的高速并行性,本文提出了一种基于GPU(Graphics Processing Unit,GPU)并行加速的BLAST程序。该并行程序主要借助了英伟达于2007年6月推出的CUDA(Compute Unified Device Architecture,CUDA)统一架构,将实现过程转化成CUDA线程块并行计算过程,使得BLAST子程序BLASTx在GPU中加速执行,不仅达到了较好的优化效果,而且还提高了程序的运行速度。设计并实现了采用并行化方法来优化BLAST程序,主要是基于GPU的并行计算平台,将BLAST程序中的串行过程转化为CUDA线程的并行执行过程。基于GPU的BLAST子程序BLASTx的并行计算研究,由于BLASTx特殊比对的情况,本文从GPU并行运算的角度,将六条氨基酸序列分布到GPU的六个block中,在Grid中实现block之间的并行操作。同时,由于一个内核函数中还存在另一个层次的并行,即thread间并行,因此,在将六条氨基酸序列分配到六个block后,在每个block中,每条氨基酸序列与蛋白质数据库的比对操作仍然可以并行化执行,对氨基酸序列比对的各种情况进行分配,将各个氨基酸序列窗口分配到各个thread上,各个线程同时执行查询蛋白质数据库的任务,从而在两个层次上实现了并行化操作。同时,由于block中共享存储器的容量无法满足庞大的蛋白质数据库的存储要求,因此需要对蛋白质数据库进行化分,每次只读取部分蛋白质序列。基于以上几点,整个比对过程的时间和内存的消耗都有了大大的减少。使用GPU对BLAST程序进行并行化操作执行是解决高性能BLAST需求的有效方案。文章还分析了并行优化后的BLAST程序的并行加速比和并行效率等性能,最后给出了测试仿真结果。最后,对本文的研究工作进行了总结,并指出了下一步的研究内容和方向。
其他文献
随着信息科技的高速发展,针对网络化、嵌入式集成特点的计算机系统得到广泛研究,于是出现了分布式结构的实时系统。由于系统规模的扩大以及系统功能与非功能属性的逐渐丰富,
特种文献是指出版发行和获取途径都比较特殊的科技文献,它一般包括会议文献、科技报告、专利文献、学位论文、标准文献、科技档案等。特种文献特色鲜明、内容广泛、数量庞大、
生物式水质监控监测技术是指利用生物个体、种群或群落对环境污染所产生的反应,利用相关生物学方法,运用生物学视角对环境状况进行监测和评价的一种技术,其监测结果直接反映
随着工业信息化的不断发展,计算机应用得到普遍推广。软件产业在得到巨大发展过程中也面临着巨大挑战,软件盗版现象频繁出现。由此软件保护和软件安全越来越受到产业界和学术
近年来,随着企业信息化进程的不断加快,企业在不同时期开发了多个Web应用系统,而这些系统一般都是独立开发的,都有自己认证和授权模块。当企业用户要访问多个应用系统时,需要
近年来,复杂网络的研究受到越来越多的关注。对复杂网络结构演化规律的实证分析,以及相应的建模研究,是充分认识一切有关复杂网络的功能与应用的基础。通过对复杂网络演化模
学位
无线传感器网络是由一组传感器节点构成的无线自组织网络,实时采集各种被监控对象的数据加以分析处理,将处理结果提供给网络的使用者。传感器网络中的事件检测是利用传感器节点
随着计算机和通信技术的飞速发展,计算机网络以其智能化、便捷化、全天候、全球通的特点,已经深入到了社会生活的方方面面,承载着当中的许多重要信息。随着其规模的迅速扩大,
中医药学是中国劳动人民在长期与疾病斗争的实践中的智慧结晶,在世界医学发展史上有着举足轻重的影响。要使中医药学迈向国际化、信息化、科学化、智能化,运用人工智能与数学
目前,多媒体教学系统在日常教学工作中已经使用的非常广泛,各种教学系统种类繁多,成为教学过程中不可或缺的一部分。而传统的按座位分布的语音教室的语音教学系统限定了语音