【发布时间】:2014-04-12 07:43:16
【问题描述】:
我正在使用 R 包降雪。有没有办法在运行并行计算时在我的主实例上使用 flush.console() ?当我进行并行计算时,我的 R 主控制台会冻结,我想避免这种情况..
我的最小示例如下。 我有一个函数 myFun。
myFun <- function(x)
{
for (i in 1 : 10)
{
Sys.sleep(1)
flush.console()
}
}
这个函数在它自己运行时完成工作(即,控制台被刷新):
myFun(1)
但是当我并行运行时,R 控制台会冻结。
library("snowfall")
sfInit(parallel=TRUE,cpus=3,type="SOCK")
x <- 1 : 100
res.list <- sfClusterApplyLB(x,myFun)
我希望在并行编码时刷新控制台。
谢谢
【问题讨论】:
-
您在运行脚本吗?将其放入脚本中。
-
@RichardScriven 我添加了脚本。
-
我认为这是 GUI 开始使用的问题,而不是 R 的问题。如果您不想冻结控制台,可以使用终端 R 或 R Studio。在许多情况下,R Studio 的响应速度更快。
-
您是否尝试将工作人员的输出刷新到主服务器的控制台?
-
@SteveWeston Weston 我正在使用 Mac。调用 sfClusterApplyLB 时,我的主控制台冻结,我的 Mac (10.7.5) 显示加载轮。我想做的就是避免这种情况发生..
标签: r user-interface parallel-processing