R脚本并行运行
来源:互联网 发布:火箭拳科技 知乎 编辑:程序博客网 时间:2024/05/18 02:20
执行mpirun时,指定hosts可以用选项-H或-host(逗号分割的hosts列表),或者用选项-hostfile指定一个host file。可以使用-n或-np选项指定在这些节点(即hosts)上运行的脚本的副本数量。
若-n或-np为1,指定只运行脚本的一个副本,在运行startMPIcluster时,doMPI会使用Rmpi的mpi.comm.spawn函数为你启动多个workers。
若-n或-np大于1,则doMPI不会spawn workers,而是假定你已使用mpirun启动了所需要的全部workers。这意味着,你的脚本将有多个实例开始运行。或者说,workers将要执行你的脚本。在这种情况下,你的脚本应该在开始时就调用startMPIcluster函数。当一个worker调用startMPIcluster时,该函数会发出通知,并执行workerLoop函数,以便执行由Master(即"rank0"过程,如上例中的localhost本机)提交的任务。
mpirun -H localhost,n2,n3 R --slave -f myscript.R
这一mpirun指令将在localhost, n2和n3上运行R解释器,R将在当前目录下运行名为myscript.R的脚本。myscript.R的副本(copy)在master("rank 0"过程,即localhost)上运行,并从startMPIcluster中返回。而另外2个workers(即主机n2和n3)因为运行workLoop函数而不返回。因此,应在脚本的开始就执行starMPIcluster,否则,workers将会执行本应由master执行的代码,从而导致问题。
mpirun -H n1,n2,n3 -n 1 R --slave -f myscript.R
在节点n1上启动master,将n2和n3也列入hosts,则MPI "universe"中将包含3个节点。因为指定了-n为1,mpirun指令只启动一个R解释器运行。startMPIcluster检测到mpi.universe.size()为3,因此它将spawn两个workers,他们分别在节点n2和n3上运行。
Open MPI建议使用non-spawn模式,因为其性能更好。在运行一个batch queueing系统(如slurm时),很可能也需要使用non-spawn模式。但是,如果脚本需要在startMPIcluster之前进行其他操作(可能会在worker processes上fail),或者需要创建多个cluster时,只能通过指定-n为1使用spawn(dynamic)模式。
mpirun -H localhost,n2,n3 -n 6 R --slave -f myscript.R
使用non-spawn(static)模式在hosts上启动多处理器。在每个host上启动2个处理器(共6个处理器)。master和一个worker在localhost上运行,而n2和n3上分别运行2个workers。你可以设置-n为1,在脚本中使用startMPIcluster时设置count参数为5,指定spawn五个workers。
通常不提倡使用starMPIcluster函数的count参数,除非要做些特别的事,如创建多个clusters。若要在non-spawn模式下指定count参数的值,应当设为mpi.comm.size()-1,否则startMPIcluster将产生错误。
- R脚本并行运行
- 运行R脚本(转)
- R脚本运行
- windows定时运行R脚本
- 一键运行R脚本
- 一个查询窗口并行运行SQL脚本
- linux下并行运行脚本与让程序可靠运行
- linux下并行运行脚本与让程序可靠运行
- CentOS6安装与运行R脚本
- CentOS6安装与运行R脚本
- R语言快速运行脚本程序
- JVM中Groovy脚本并行运行性能优化
- 并行运行
- R并行开发准备
- R并行程序框架
- R语言 并行处理
- asp.net 运行.exe文件和R脚本
- Windows服务器下设置R脚本自动运行
- Oracle数据库数据导入导出基本方法--以及 练习
- mongodb分片集群数据迁移(方案二)
- android源码com.android.internal目录解释
- ORA-600 [kcratr_scan_lastbwr] 逻辑坏块
- 运行百度地图官方例子出现“程序意外停止”解决
- R脚本并行运行
- poj 3468 线段树
- Ubuntu中的inittab文件
- Intent中的四个重要属性——Action、Data、Category、Extras
- Mac 删除文件夹里所有的.svn
- Linux禁止单用户模式(single)来增强系统安全
- ubuntu 软件卸载 及 apt-get, dkpg 常用命令
- 我的C++编程命名规范
- java jvm 参数 -Xms -Xmx -Xmn -Xss 调优总结