泉州师范学院

上传人:壹****1 文档编号:552036479 上传时间:2022-11-15 格式:DOCX 页数:7 大小:23.93KB
返回 下载 相关 举报
泉州师范学院_第1页
第1页 / 共7页
泉州师范学院_第2页
第2页 / 共7页
泉州师范学院_第3页
第3页 / 共7页
泉州师范学院_第4页
第4页 / 共7页
泉州师范学院_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《泉州师范学院》由会员分享,可在线阅读,更多相关《泉州师范学院(7页珍藏版)》请在金锄头文库上搜索。

1、1.2.3.4.5.6.7.8.9.10.11.12.BEAGLE :应用程序编程接口和高性能 计算图书馆统计系统发育Danel L. Ayresl,*,Aaron Darling2,Derrick J. ZWickl3,Peter Beerli4,Mark T. Holder 3,Paul O. Lewis5,+作者背景1.2.3.4.5.6.7.8.9.10.11.12.13.John P. Huelsenbeck6, Fredrik Ronquist7, David L. Swofford 8, Michael P. Cummings 1, Andrew Rambaut9,10 and

2、Marc A. Suchard 11,12,131生物信息学和计算生物学中心,马里兰大学学院公园,MD 20742,2 基因组南方研究中心,美国加州大学戴维斯分校, CA 95616,3 生态学与演化生物学系,堪萨斯大学劳伦斯,堪萨斯州 66045,美国4 部科学计算,佛罗里达州立大学,塔拉哈西,佛罗里达州 32306,美国5 系生态学与演化生物学,康涅狄格大学,斯托尔斯, CT 06269,美国6 综合生物学系,加州大学伯克利分校, CA 94720,7 114 18瑞典斯德哥尔摩,瑞典自然历史博物馆,8 进化基因组学,基因组科学与政策研究所,杜克大学,达勒姆, NC 27708,中心9,英

3、国爱丁堡大学进化生物学研究所,英国爱丁堡EH9 3JT,电子邮件:a.rambaut ed.ac.uk10 Fogarty国际中心,国立卫生研究院,美国马里兰州贝塞斯达20892,11 生物数学部12 生物统计部13人类遗传学部,美国加州大学洛杉矶分校,CA 90095,美国;电子邮件:msucharducla.edu1.*通讯被发送到生物信息学和计算生物学中心,马里兰大学学院公园, MD 20742,美国;电子邮件:ayresumiacs.umd.edu。 收稿,2011年7月14日。 修订收到,2011年9月6日。 接受, 2011 年9月 26日下一节摘要系统发育的推论是我们了解生命的起

4、源和演化的大多数方面的基础,近年来,一直存在着浓度的统计方法,如贝叶斯 推理和最大似然估计的兴趣。 然而,对于大型数据集和演变的现实的或有趣的模型,这些方法仍然需要大量计算 的 。 高通量测序可以产生成千上万类群的数据,但扩展到使用串行计算等问题,往往需要使用非统计的或近似的方 法。最近出现的图形处理单元(GPU)的提供了一个机会,利用其出色的浮点计算性能,加快统计系统发育推断。进 化计算的一个专业图书馆将允许现有的软件包,以更有效地利用可用的计算机硬件,包括图形处理器。 也更容易通 过一个共同的库等新兴的计算架构,如现场可编程门阵列,在未来使用。我们现在比格犬,应用程序编程接口(API) 库

5、和高性能的统计进化推断。API提供了一个统一的接口用于执行各种计算的硬件平台上的进化的可能性计算。该 库包括了一套高效的实现,目前可以利用的硬件,包括GPU的NVIDIA CUDA技术,中央处理单元(CPU)使用SIMD 流指令扩展和相关处理器的补充指令集,并通过OpenMP的多核处理器。为了表现出一个共同的API优势,我们有 几个流行的进化软件包纳入库中。比格尔库是小GPL授权下,从现有的http:/beagle-的免费的开 源软件。 一个例子客户端程序是作为公共领域的软件。关键词 贝叶斯系统发育 GPU 最大似然 并行计算大多数现代统计系统发育推断方法涉及计算类群的系统进化模型往往一棵树,

6、连续时间马尔可夫链字符状态演化模型 设置观察到的字符数据的概率。Felsenstein (1981)展示了一个高效的算法来计算这种可能性,这是通常被称为 模型的可能性。他的算法递归计算通过简单的总结和产品的部分似然。这些局部似然跟踪从内部节点在特定的状态, 内部节点条件下了观测数据的概率。一个库,实现了由Felsenstein的算法所需的计算是有吸引力,因为此过程中 占多数的计算时间,在最可能基于进化操作 。 此外,该算法进行并行化提供了机遇 。在典型的进化模式,可能性计算操作都假定在几个层次上的独立性 。这些独立性提供了机会来执行并行操作。例如, 模型通常假设在序列比对站点的不断发展,独立,

7、这样一方面可以计算的可能性分别为每个站点。 网站似然的产品 产量为对齐的可能性。 模型中,包括有限的混合物之间的现场通过率的变化,它通常可以计算并行每个率类别的条 件似然。 并行的其他几个机会存在于更精细的规模 。我们已经开发出的软件库BEAGLE:广阔的平台进化分析一般的可能性评估。BEAGLE提供了一个统一的界面,计算 各种不同的进化模式下进化似然。库实现了重要的新兴计算机硬件技术,包括图形处理单元(GPU)和多核中央处 理器(CPU)的并行计算的可能性。我们打算为用户安装任何亲缘软件支持库作为共享资源库。这种方法允许进化 的软件开发的核心计算和任何软件包使用BEAGLE将自动受益于改善库

8、共享任何优化。对于研究人员来说,这种集 中提供了一个单一的安装新的硬件和并行技术的优势。 我们现在描述的接口库和一些细节,就其实施。上一节下一节关键概念BEAGLE性能的关键在于提供优良大规模并行,同时最大限度地减少数据传输和内存拷贝开销。而要做到这一点, 图书馆缺少的一棵树的概念或数据结构,尽管打算使用的系统发育分析 。相反,直接作用于灵活的索引数据存储(称 为缓冲区)观察到的字符州和部分似然 BEAGLE 。 客户端程序可以设置输入缓冲区,以反映数据,可以计算出适当 的输入和输出缓冲区,以正确的顺序调用的可能性计算一个特定的亲缘关系的可能性。 由于这种设计简洁,图书馆 可以支持许多不同的树

9、推理算法和可能性计算,多种型号 。 可以使用任意数量的国家,可以不可逆的替换矩阵,通 过复杂的特征分解,并与多个率类别和/或多个特征分解的混合模型。最后,比格尔应用程序编程接口(API)调用 是异步的,允许调用程序来实现,如评估独立的基因或运行并发马尔可夫链的其他粗大规模并行计划。使用利用图书馆,一个客户端程序首先创建BEAGLE的实例通过调用beagleCreatelnstance (可以在库分布式的文档中 找到更多的 API 方法名称) ;是可能的,并鼓励每个客户端的多个实例。所有的附加 功能被称为这个实例的引用 。客 户端程序可以选择要求在某些硬件上运行一个实例(例如,GPU),或有特定

10、的功能(例如,双精度数学)。下, 客户端程序必须指定数据的尺寸和指定的进化模式的关键环节。 字符的状态数据,然后加载并可以在离散观测到的 国家或部分似然模糊的字符的形式。观察到的数据通常是不变的,只加载一次启动,以尽量减少内存拷贝开销。 字 符数据可以被压缩成独特的“站点模式”,为每个相关的权重。 然后可以指定的替代过程中的参数,包括频率的平衡状 态,替代率的一个或多个类别及其权重的利率,并最终替代过程中的特征分解。为了计算一个特定的树的可能性,客户端程序,然后指定对应 Felsenstein 的算法中的步骤的一系列整合行动。 每 个边缘的有限时间的过渡概率直接加载,如果考虑nondiagon

11、alizable模式或特征分解和边缘长度指定并行计算。这 是 Beagle 的内存空间内进行,以尽量减少数据传输。 一个函数调用,然后将请求一个或多个集成操作的计算部分或 全部节点的局部似然。 在他们提供的,通常由后序遍历的树的拓扑结构所决定的顺序进行操作。 客户端只需要指定 部分似然需要更新的节点,但它是由调用的软件,以保持这些依赖轨道。 在评估系统发育模型的最后一步是使用 API 调用产生一个给定的数据模型的单一登录的可能性。比格尔API设计的各个方面,同时支持最大似然(ML)和贝叶斯系统进化树推断。为ML推断,API调用可以计算 出边的长度(分公司)的第一和第二的衍生工具的可能性。在这两

12、种情况下,BEAGLE提供缓存和重用先前计算的 部分可能性结果的能力,它可以产生一个巨大的加速比重新计算整个的可能性评估每一个新的进化模型是时间。上一节下一节材料中号 ETHODS核心BEAGLE库中实现C + +与 C和Java JNI接口。BEAGLE使用一个运行时模块加载系统,加载硬件特定的插件(共享库)时,合适的硬件可用 当前插件实现BEAGLE GPU上使用CUDA和OpenCL (开发中),CPU的使 系统。用SIMD流指令扩展(SSE)的向量指令,并通过的OpenMP的多核不 一。 Beagle是在Linux,Mac和Windows操作系统,并与传统的安装方法,每个包装 GPU

13、实现对 Beagle GPU 实现支持单精度和双精度运算 单精度要求更频繁地使用一个缩放功能的计划,以避免溢,但允许BEAGLE上运行的图形处理器等硬件的最初几代以来的各种不包括双精度数学的支持。GPU的罚款大规模并行计算 的可能性,主要是由跨对齐网站,率类别,状态值并行 如氨基酸(20国)或密码子模型(64个国家)的模型, 因此,允许更大程度的并行化比核苷酸模型(4国),也产生GPU硬件(最显着的的加速Suchard和Rambaut 2009 )。安装使用CUDA驱动程序API,这使他们能够在运行时编译和利用特有的功能在特定的硬件和CUDA版 本的CUDA内核负载。多GPU可以无缝的利用,同

14、时通过多种BEAGLE实例。CPU 为基础的实现除了标准的串行CPU执行,BEAGLE包括另外两个基于CPU的实现,利用不同的方式并行。在双精度上证所实现 使用向量处理扩展,在目前许多CPU并行跨字符状态值的计算。单精度上证所矢量一直没有BEAGLE优先,其他的 进化工具已经提供此 功能(2003年 Ronquist 和 Huelsenbeck, 斯沃福德 2003年),因此,目前尚未在Beagle。OpenMP实现使用多线程并行处理跨率类别的计算。虽然更大规模并行,相当于GPU的设备实现,可以 尝试,它是不可能产生显著加速由于在OpenMP模型线程同步开销。上一节下一节XAMPLE计划加速目

15、前,三个流行的亲缘套装软件接口与BEAGLE: MrBayes ( 2003年Ronquist和Huelsenbeck)和兽(2007 年德拉蒙德和Rambaut),使用贝叶斯推理,并GARLI(Zwickl 2006年),它采用了 ML的方法。我们这些方 案的基准进行比较,其原生的可能性计算器的速度比格尔实现。 为了更好地利用 GPU 的实现提供了并行,我们使用 的对齐网站的大量数据集和核苷酸和密码子模型下运行 。更具体地说,数据集使用 15类群和 18792 核苷酸列,其 中 8558是独一无二的;密码子模型, 6080 6264 网站模式是独一无二的。 该数据集是一个较大的节肢动物数据集(子集Regier等2010 )。我们对这些标准的台式PC基准执行与2.9 GHz英特尔酷睿i7 - 930 CPU和6 GB的 1.6千兆赫DDR3内存。配备了 NVIDIA GTX 580 GPU的PC机,1.5 GB的RAM和512个处理核心,运行在1.5 GHz的。图1显示每个程序运行时的速度提升时使用BEAGLE CPU,SSE和核苷酸和密码子模型下的GPU实现。GPU 的实施,我们还为基准在单精度模式下。 报道加速时相运行时使用本机 CPU 执行每个程序的顺序。 我们注意到, 与 BEAGLE GARLI 接口不完全优化。 虽然我们预期,进一步整合工作将产生积极的成果,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 建筑资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号