我正在尝试使用 doSMP,当我尝试时w <- startWorkers(4)
,我收到错误
1:在startWorkers(workerCount = 4)中:
存在使用 doSMP1 的现有 doSMP 会话
(实际上是 doSMP1,...doSMP8)。现在,当我尝试使用删除它时rmSessions('doSMP1')
我收到错误消息
尝试删除 qname:doSMP1
无法删除队列:doSMP1
有关如何使其发挥作用的任何建议。在我的 8 核机器上,doSNOW 从版本 2.11 开始停止工作,我希望能够在本地并行处理,而无需将数据发送到 Linux 服务器。
我在 8 核机器上的 WinXP 64 位上运行 R 2.12.1(32 位)。
doSMP 实际上是为了在 Revolution 版本上使用而开发的,并且对您的系统来说相当沉重。根据我的经验,如果你对自己所做的事情不是非常非常小心,它很容易使 R 崩溃。对于并行计算,我对这些软件包有更好的体验snow, snowfall(本质上是雪的前端)和多核.
还要确保您使用最新版本的 R (2.12.2),因为当前版本的 doSMP 是针对 2.12.2 编译的。
如果您确实需要删除这些会话,您可以尝试删除查看工人对象时指定的临时目录中的文件:
> w <- startWorkers(workerCount = 4)
> w
$taskq
<pointer: 0x05974f20>
$qname
[1] "doSMP1"
$workerCount
[1] 4
$tmpdir
[1] "C:\\Users\\JORISF~1\\AppData\\Local\\Temp\\RtmpXxLcTk\\doSMP44c815a1"
您应该清除该目录。写下临时文件后,首先停止当前的工作人员,然后尝试删除所有会话:
stopWorkers(w)
rmSessions(all=TRUE)
然后清理目录。然后重新启动 R。有时会发生启动后仍有剩余会话在运行的情况,如果您使用startWorkers()
再次。如果是这样,再次使用第一个stopWorkers(w)
无需先注册!然后再次执行 rmSessions(all=TRUE)。有时 R 会直接崩溃。重新启动并按照此处的指示继续。
最后,忘记 doSMP 并使用其他提到的软件包之一。如果您以前没有经验,降雪会给您带来的头痛最少。有一个很好的介绍here.
更新:从 R2.14 开始,您拥有内置软件包parallel
结合了以下功能multicore
and snow
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)