我试图在Windows R中使用doSMP并行.CAll函数,但是出现了以下错误:
1: In startWorkers(wr) : there is an existing doSMP session using doSMP1
2: In startWorkers(wr) : there is an existing doSMP session using doSMP2
3: In startWorkers(wr) : there is an existing doSMP session using doSMP3
4: In startWorkers(wr) : there is an existing doSMP session using doSMP4
5: In startWorkers(wr) : there is an existing doSMP session using doSMP5
6: In startWorkers(wr) : there is an existing doSMP session using doSMP6
7: In startWorkers(wr) : there is an existing doSMP session using doSMP7
8: In startWorkers(wr) : there is an existing doSMP session using doSMP8
9: In startWorkers(wr) :
possible leak of worker sessions: consider using FORCE=TRUE
我做了rmSessions(all = TRUE),但R总是冻结在以下几行:
attempting to delete qnames: doSMP1, doSMP2, doSMP3,doSMP4,doSMP5,doSMP6,doSMP7,doSMP8
我已多次重启R和Windows,甚至试图删除该软件包并重新安装它但仍无法正常工作。 无论如何要删除这些会话?
我想要的是并行调用.Call的for循环,是否有其他软件包可以在Windows R中执行此操作? 非常感谢你的帮助。
答案 0 :(得分:1)
我在使用doSMP库方面相当新,并且遇到了与您相同的问题。我确信还有其他软件包可以进行并行处理,尽管doSMP看起来使用起来相当简单。我养成了将rmSessions(all = T)放在我的代码开头(加载doSMP库之后)的习惯,只是为了确保没有活动的会话并且没有程序崩溃的问题。我认为你必须要记住的是每次循环结束时调用stopWorkers函数,否则R似乎对你生气。希望这会有所帮助。