Chinaunix首页 | 论坛 | 博客
  • 博客访问: 601175
  • 博文数量: 69
  • 博客积分: 2204
  • 博客等级: 大尉
  • 技术积分: 808
  • 用 户 组: 普通用户
  • 注册时间: 2009-10-11 22:37
个人简介

..微笑着看着杯中的花茶一片片撑开.. ..透明的花瓣里水破开的声音很轻微..

文章分类

全部博文(69)

文章存档

2018年(1)

2017年(2)

2016年(10)

2015年(8)

2014年(6)

2013年(6)

2012年(4)

2011年(8)

2010年(12)

2009年(12)

分类: 信息化

2017-05-19 14:23:15

1 编译前的准备

本次编译的是Mrbayes 3.2.2版本。其实都是很简单的事情,只是有些依赖的东西要解决。

平台环境如下:

Ubuntu server 12.04LTS 64

Linux版本为 3.2.0-57

Gcc编译器采用的 gcc 4.6

MPI软件如下(在新立德中安装即可)

1. OpenMPI

Openmpi-bin

Openmpi-checkpoint

Openmpi-common

Libopenmpi1.3

 

2. MPICH

Mpich-bin

Mpich-mpd-bin

Libmpich1.0gf

Libmpich-mpd1.0gf


Mpich2
Libmpich2-3
Mpi-default-bin

有些虽然可能不是必要的,而且这是两套MPI框架。不过除了Mrbayes外,像PhyML的多线程版本也会使用这些框架的。因此安装了也无妨,总会用到的。

Mrbayes的包下载自官方网站,网址如下:下载其中的source code就可以了。
 

2 编译MPI版本的MRBayes

1.  关于编译单线程的版本这里就不说,编译多线程的其实跟单线程的也没什么太大区别。首先先检查下你的gcc编译器,我是在gcc 4.6的版本下编译成功的。

$which gcc

2.  解压源码包,将路径切换至src目录下,具体路径看你自己的设置。

$cd src

3.  先自动配置

$autoconf

如果没有这步,src文件夹下是不会有configure这个文件的,网上有篇教程中忽略了这步,所有有些人可能就发现无法配置,也不能make

4.  设置参数

$./configure (如果你是编译单线程版本直接默认就可以了)

$./configure –enable-mpi=yes –with-beagle=no

如果你不启用GPU加速,应该像上面这样设置,否则你需要确定你的工作站安装了NVIDIA显卡并采用了CUDA驱动,那么你可以安装libbeagle,并直接启用mpi配置:

$./configure –enable-mpi=yes

当然我只编译了多线程,并没有采用GPU加速,因此是使用了上面的参数。

5.  编译

$make clean (清除掉先前编译的内容,第一次编译的时候就免了。)

$make (编译,可能要等上一小会儿。)

$make install (将程序安装在程序目录下,这样可以在终端直接调用,不过直接拷贝编译好的文件在当前文件夹下用也是没有问题的。)

默认编译好的文件为mb

3 MPI版本的启用

运行的方法可以如下:

$mpirun –np 8 ./mb-np 8 表示采用8个线程来执行)

$mpiexec –n 8 ./mb-n 8 表示采用8个线程来执行)

启动后跟单现成的界面差不多,但是在前面的信息中会告诉你采用了多少个线程。剩下的操作就跟单线程的没什么区别了。你也可以从系统监视器中看到如果你启用了8个线程,那么有8CPU的负载应该是100%的。

你也可以将要执行的步骤卸载nex文件中直接在命令行中加载。

$mpirun –np 8 ./mb your_file.nex

例如:

……

ENDNEX序列结尾)

begin mrbayes;

mcmc ngen=10000000 printfreq=1000 samplefreq=1000 checkpoint=yes checkfreq=10000 stoprule=yes stopval=0.01;

mcmc;

sump relburnin=yes burninfrac=0.25;

sumt relburnin=yes burninfrac=0.25;

end;

 

   祝各位好运吧。
阅读(4094) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~