将%*%挂在foreach%dopar%循环中

问题描述

由于无法创建mwe,因此尝试在此处提供的详细信息之间取得适当的平衡。我的foreach循环挂在某些矩阵计算的中间。奇怪的是,它挂在我的imac上,而不挂在我的更大(即更多内存)的Linux机器上。如果我使用%dopar%,它会挂起,但使用%do%可以。它总是挂在内部for循环的第七次迭代上。它总是挂在'colSums'步骤上,但是我使用矩阵代数而不是colSums计算colSums。如果我使用colSums,则可以使用它。并不是我的矩阵尺寸不正确-我已经检查了它们并且没有收到错误。可能会发生什么?

helper <- function(mat){
    vec <- rep(0,dim(mat)[1])
    for(j in 1:7){
        mat <- mat^(j*0.1)
        vec <- vec + (rep(1,dim(mat)[1]) %*% mat)               # ----- hangs here
    }
    return(vec)
}

foreach(ind = 1:10,.packages = 'Matrix') %dopar% {
     helper(mat = mat)
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)