R语言并行计算snow包文档(beta)
来源:互联网 发布:matlab向量化编程 编辑:程序博客网 时间:2024/05/24 00:57
1.snow-clusterCluster-Level on a snow cluster
详细说明
这些是用于集群计算得基本函数。所有在子节点的运行的程序都在tryCatch函数下运行。即如果任何子节点有错误都会在主节点标示出。更能多细节将在以后假如考虑之中。
clusterCall(cl, fun, …)
对每个节点使用同一个函数fun,以列表形式输出每个节点的结果。
clusterEvalQ(cl, expr)
对每个节点使用fun,与clustercall不同的是没有其他参数输入。
clusterApply(cl, x, fun, …)
将矩阵x的每个参数分别分配给每个节点,若x参数超过节点数则循环分配进行计算。
clusterApplyLB(cl, x, fun, …)
clusterApply的均衡加载模式。如果x参数超过节点数剩余参数将分配给已经执行完任务的节点。使用此函数可以更好地利用集群,但是,这种方式降低了计算性能。
clusterMap(cl, fun, …, MoreArgs = NULL, RECYCLE = TRUE)
类似mapply,例子
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
clusterExport(cl, list, envir = .GlobalEnv)
将list参数作为全局变量传递给每个节点。
clusterSplit(cl, seq)
将seq序列,分配给各个节点,现版本要求序列长度与节点数相同.
- 1
- 2
- 3
- 4
- 5
- 6
综合性例子:
- 1
- 2
- 3
- 4
- 5
- 6
2.snow-parallel———-Higher Level SNOW functions
详细说明
1.parLapply
,parSapply
和parApply
是lapply
,sapply
,apply
的平行计算版本。
2.parRapply
和parCapply
是apply
的行、列计算的对应版本;比parApply
更有效率。
3.parMM:is a very simple(minded) parallel matrix multiply; it is intended as an illustration(还没搞懂功能)
4.更多细节参见:Simple Network of Workstations for R
例子
- 1
- 2
- 3
- 4
- 1
描述
初始化集群中的随机数,使用 L’Ecuyer或SPRNG的包产生随机数(分别需要rlecuyer
和SPRING
包)。
clusterSetupRNG (cl, type = “RNGstream”, …)
1.如果设置了SPRNG
参数,会调用clusterSetupSPRNG
函数。2.如果设置RNGstream
参数,会调用clusterSetupSPRNG
函数。
clusterSetupRNGstream (cl, seed=rep(12345,6), …)
加载rsprng
包并分别的每个节点初始化。进一步的细节参见init.sprng
文档.
clusterSetupSPRNG (cl, seed = round(2^32 * runif(1)), prngkind = “default”, para = 0, …)
加载rlecuyer包,在每个节点创建一个数据流并分配给每个节点。
- 1
- 2
- 3
- 4
- 5
3.snow-startstop
详细介绍 makeCluster
建立集群的函数,支持的集群类型有“sock”,“PVM”,“MPI”,“NWS”。
1. 对于“PVM”和“MPI”集群spec
参数应设置为整数形式的节点数量。
2. 对于“SOCK”和“NWS”集群spec
参数应该设置为对应节点组成的字符型向量(ip或hosts地址名)。
3. 对于“SOCK”和“NWS”集群spec
参数在本地模式下也可以设置为数字。
4. 选项rscript
和snowlib
很有用,参见下面的例子。
stopCluster
在退出R之前使用关闭集群。
setDefaultClusterOptions
设置集群默认参数。其中最有用的参数为type
和homogeneous
。
如果Rmpi
在搜索路径中,type
参数会设置给MPI
如果安装了rpvm
包,type参数会设置给
PVM`
若上述两个都没找到,设置给“SOCK”。
homogeneous
如果要使用非均匀的集群设置为FLASE
;这需要一些额外的设置。默认的设置是TRUE
除非在master节点上设置了R_SNOW_LIB
非空的数值。
optionoutfile
可以用来制定slave节点输出的位置。默认是/dev/null//
;这项设置有助于在安装时做故障排除。将路径设置在“”
或/dev/tty
可以slave输出在mater节点上。
makeSOCKcluster
, makePVMcluster
, makeMPIcluster
, and makeNWScluster
用来启用相应类型的集群。
在MPI中的进程配置中像用来开启主节点和子节点的mpirun
是不能用的,因为集群在之前已经配置好,可以使用getMPIcluster
来获得。
对于SOCK
和NWS
集群选项manual=TRUE
可以强制手动开启工作进程。设置outfile
选项可以用来做故障排除。
更多细节参见: http://www.stat.uiowa.edu/~luke/R/cluster/cluster.html
例子
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
4.snow-timing
- 1
- 2
- 3
- 4
- 5
- 6
说明
snow.time
输出 snowTimingData
格式的时间数据。 snowTimingData
的print方法输出了总运行时间,在主节点和自己点的通信时间和每个节点的计算时间。 plot
展示了计算时间的线条图,绿色计算矩形代表计算时间,蓝色横线代表一个子节点的等待时间,红线代表主/子节点的通信时间。
例子
- R语言并行计算snow包文档(beta)
- R语言并行计算snow包文档(beta)
- R语言snow包并行计算
- R语言用snow包并行计算代码记录(未完成)
- R语言并行运算(snow包)
- R语言并行运算(snow包)
- 【学习】R语言中的并行计算:foreach,iterators, doParallel包
- 【学习】R语言中的并行计算:foreach,iterators, doParallel包
- R语言中的并行计算
- R语言并行计算(1)
- R语言中的并行计算
- R语言中的并行计算
- R语言并行计算编程
- r语言并行计算(2)----foreach函数
- R语言reshape2包-官方文档学习
- 用R语言实现向量化与并行计算
- 用R语言实现向量化与并行计算
- R语言并行计算的原理和案例(foreach,parallel)
- 感想
- Android_tadlayout来展示订单
- PullToRefreshScrollView下拉刷新练习
- Java笔记--缓存击穿
- 01.二维数组中的查找
- R语言并行计算snow包文档(beta)
- 将安装了 CentOS/RHEL 6/7 的机器转变成路由器
- 如何使用 Wine 在 Linux 下玩魔兽世界
- Neo4j 和图数据库起步
- 第一篇博客---2017年12月后如何在CSDN平台上开通博客
- Art of asking questions
- Anglicanjs
- 重写ListView方法
- 订单