一个核心上的所有作业都因R多核而失败

我在很长的名单上使用R multicore.我在列表上调用了mclapply,它在我的机器上使用了12个内核.

当我的列表有大约1000个元素长时,它运行正常.
当我的列表超过~2000个元素时(我不确定这个行为会在多长时间内启动),那么提交给核心5的所有作业都会失败.

(我通过将列表元素ID提交到this website来找到它.)

我在几个节点上尝试了这个但是我总是得到以下警告:

Warning message:
In mclapply(h.list, train_and_predict, learn.bias = F, ntree = ntree,  :
  scheduled core 5 encountered error in user code, all values of the job will be affected

问:为什么只有一个核心失败?

任何帮助将不胜感激.

PK

最佳答案 我认为当至少一个数据激活代码中的错误时会发生这种情况.多核无法恢复,并且该核心上的所有数据都已损坏. mclapply在所有节点上均匀地划分数据,如果在一个节点上甚至一个数据失败.

我建议使用以下解决方案:从N个数据项中的M开始;如果失败则逐渐减少M直到它起作用;然后M 1数据有问题.使用第M个第1个数据串行运行代码(即不使用mclapply)并查看失败的位置.那就是bug.

点赞