泉州师范学院 - 提交材料 - 译文 - application programming interface

上传人:kms****20 文档编号:40488764 上传时间:2018-05-26 格式:DOC 页数:7 大小:130KB
返回 下载 相关 举报
泉州师范学院 - 提交材料 - 译文 - application programming interface_第1页
第1页 / 共7页
泉州师范学院 - 提交材料 - 译文 - application programming interface_第2页
第2页 / 共7页
泉州师范学院 - 提交材料 - 译文 - application programming interface_第3页
第3页 / 共7页
泉州师范学院 - 提交材料 - 译文 - application programming interface_第4页
第4页 / 共7页
泉州师范学院 - 提交材料 - 译文 - application programming interface_第5页
第5页 / 共7页
点击查看更多>>
资源描述

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

1、BEAGLE:应用程序编程接口和高性:应用程序编程接口和高性 能计算图书馆统计系统发育能计算图书馆统计系统发育1.Daniel L. Ayres1,*, 2.Aaron Darling2, 3.Derrick J. Zwickl3, 4.Peter Beerli4,5.Mark T. Holder3, 6.Paul O. Lewis5, 7.John P. Huelsenbeck6, 8.Fredrik Ronquist7,9.David L. Swofford8, 10.Michael P. Cummings1, 11.Andrew Rambaut9,10 and12.Marc A. Suc

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

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

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

5、算架构,如现场可编程门阵列,在未来使用。 我们现在比格犬,应用程序编程接口(API)库和高性能的统计进化推断 。 API 提供了一个统一的接口用于执行各种计算的硬件平台上的进化的可能性计算 。 该库包括了一套高效的实现,目前可以利用的硬件,包括 GPU 的 NVIDIA CUDA 技术,中央处理单元(CPU)使用 SIMD 流指令扩展和相关处理器的补充指令集,并通过 OpenMP 的多核处理器。 为了表现出一个共同的 API 优势,我们有几个流行的进化软件包纳入库中。 比格尔库是小 GPL 授权下,从现有的 http:/beagle- 的免费的开源软件。 一个例子客户端程序是作为公共领域的软件

6、。关键词关键词贝叶斯系统发育 GPU最大似然并行计算大多数现代统计系统发育推断方法涉及计算类群的系统进化模型往往一棵树,连续时间马尔可夫链字符状态演化模型设置观察到的字符数据 的概率。Felsenstein (1981)展示了一个高效的算法来计算这种可能性,这是通常被称为模型的可能性 。他的算法递归计算通过简单的总结和产品的部分似然。 这些局部似然跟踪从内部节点在特定的状态,内部节点条件下了观测数据的概率 。 一个库,实现了由 Felsenstein 的算法所需的计算是有吸引力,因为此过程中占多数的计算时间,在最可能基于进化操作 。 此外,该算法进行并行化提供了机遇 。在典型的进化模式,可能性

7、计算操作都假定在几个层次上的独立性 。 这些独立性提供了机会来执行并行操作。 例如,模型通常假设在序列比对站点的不断发展,独立,这样一方面可以计算的可能性分别为每个站点。 网站似然的产品产量为对齐的可能性。 模型中,包括有限的混合物之间的现场通过率的变化,它通常可以计算并行每个率类别的条件似然。 并行的其他几个机会存在于更精细的规模 。我们已经开发出的软件库 BEAGLE:广阔的平台进化分析一般的可能性评估。 BEAGLE 提供了一个统一的界面,计算各种不同的进化模式下进化似然 。 库实现了重要的新兴计算机硬件技术,包括图形处理单元(GPU)和多核中央处理器(CPU)的并行计算的可能性。 我们

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

9、以反映数据,可以计算出适当的输入和输出缓冲区,以正确的顺序调用的可能性计算一个特定的亲缘关系的可能性。 由于这种设计简洁,图书馆可以支持许多不同的树推理算法和可能性计算,多种型号 。 可以使用任意数量的国家,可以不可逆的替换矩阵,通过复杂的特征分解,并与多个率类别和/或多个特征分解的混合模型。 最后,比格尔应用程序编程接口(API)调用是异步的,允许调用程序来实现,如评估独立的基因或运行并发马尔可夫链的其他粗大规模并行计划。使用使用利用图书馆,一个客户端程序首先创建 BEAGLE 的实例通过调用 beagleCreateInstance(可以在库分布式的文档中找到更多的 API 方法名称);是

10、可能的,并鼓励每个客户端的多个实例。 所有的附加 功能被称为这个实例的引用 。客户端程序可以选择要求在某些硬件上运行一个实例(例如,GPU),或有特定的功能(例如,双精度数学 )。下,客户端程序必须指定数据的尺寸和指定的进化模式的关键环节。 字符的状态数据,然后加载并可以在离散观测到的国家或部分似然模糊的字符的形式。观察到的数据通常是不变的,只加载一次启动,以尽量减少内存拷贝开销。 字符数据可以被压缩成独特的“站点模式”,为每个相关的权重。 然后可以指定的替代过程中的参数,包括频率的平衡状态,替代率的一个或多个类别及其权重的利率,并最终替代过程中的特征分解。为了计算一个特定的树的可能性,客户端

11、程序,然后指定对应 Felsenstein 的算法中的步骤的一系列整合行动。 每个边缘的有限时间的过渡概率直接加载,如果考虑 nondiagonalizable 模式或特征分解和边缘长度指定并行计算。这是 Beagle 的内存空间内进行,以尽量减少数据传输。 一个函数调用,然后将请求一个或多个集成操作的计算部分或全部节点的局部似然。 在他们提供的,通常由后序遍历的树的拓扑结构所决定的顺序进行操作。 客户端只需要指定部分似然需要更新的节点,但它是由调用的软件,以保持这些依赖轨道。 在评估系统发育模型的最后一步是使用 API 调用产生一个给定的数据模型的单一登录的可能性。比格尔 API 设计的各个

12、方面,同时支持最大似然(ML)和贝叶斯系统进化树推断。 为 ML 推断,API 调用可以计算出边的长度(分公司)的第一和第二的衍生工具的可能性。 在这两种情况下,BEAGLE 提供缓存和重用先前计算的部分可能性结果的能力,它可以产生一个巨大的加速比重新计算整个的可能性评估每一个新的进化模型是时间。上一节 下一节材料中号 ETHODS核心 BEAGLE 库中实现 C + +与 C 和 Java JNI 接口。 BEAGLE 使用一个运行时模块加载系统,加载硬件特定的插件(共享库)时,合适的硬件可用 。 当前插件实现 BEAGLE GPU 上使用 CUDA 和 OpenCL(开发中),CPU的使用

13、 SIMD 流指令扩展(SSE)的向量指令,并通过的 OpenMP 的多核系统。 Beagle 是在 Linux,Mac 和Windows 操作系统,并与传统的安装方法,每个包装 。GPU 实现实现对 Beagle GPU 实现支持单精度和双精度运算。 单精度要求更频繁地使用一个缩放功能的计划,以避免溢,但允许BEAGLE 上运行的图形处理器等硬件的最初几代以来的各种不包括双精度数学的支持。 GPU 的罚款 大规模并行计算的可能性,主要是由跨对齐网站,率类别,状态值并行。 如氨基酸(20 国)或密码子模型(64 个国家)的模型,因此,允许更大程度的并行化比核苷酸模型(4 国),也产生 GPU

14、硬件(最显着的 的加速 Suchard 和 Rambaut 2009 )。 安装使用 CUDA 驱动程序 API,这使他们能够在运行时编译和利用特有的功能在特定的硬件和 CUDA版本的 CUDA 内核负载。 多 GPU 可以无缝的利用,同时通过多种 BEAGLE 实例。CPU 为基础的实现为基础的实现除了 标准的串行 CPU 执行,BEAGLE 包括另外两个基于 CPU 的实现,利用不同的方式并行。 在双精度上证所实现使用向量处理扩展,在目前许多 CPU 并行跨字符状态值的计算。 单精度上证所矢量一直没有 BEAGLE 优先,其他的进化工具已经提供此 功能(2003 年 Ronquist 和

15、Huelsenbeck, 斯沃福德 2003 年),因此,目前尚未在Beagle。 OpenMP 实现使用多线程并行处理跨率类别的计算 。 虽然更大规模并行,相当于 GPU 的设备实现,可以尝试,它是不可能产生显著加速由于在 OpenMP 模型线程同步开销。上一节 下一节 XAMPLE计划加速计划加速目前,三个流行的亲缘套装软件接口与 BEAGLE:MrBayes( 2003 年 Ronquist 和 Huelsenbeck)和兽 (2007年德拉蒙德 和 Rambaut),使用贝叶斯推理,并 GARLI(Zwickl 2006 年),它采用了 ML 的方法。 我们这些方案的基准进行比较,其原

16、生的可能性计算器的速度比格尔实现。 为了更好地利用 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号