【发布时间】:2020-10-13 17:26:28
【问题描述】:
我正在尝试使用 R 中的 Rmpi 包执行一个简单的函数。当我使用内部用户定义的函数运行 mpi.remote.exec() 函数时,程序找不到我的函数。
library(Rmpi)
mpi.spawn.Rslaves()
df1 <- data.frame("x" = 1:2, "y" = 1:2)
df2 <- data.frame("x" = 2:3, "y" = 2:3)
df3 <- data.frame("x" = 3:4, "y" = 3:4)
df4 <- data.frame("x" = 4:5, "y" = 4:5)
fun <- function(x) {
input <- get(paste0("df", x), envir = .GlobalEnv)
return(input)
}
array <- 1:4
MPIresults <- mpi.remote.exec(cmd = fun, array)
这样做,我收到以下错误消息:
$slave1
[1] "Error in fun(1:4) : could not find function \"fun\"\n"
attr(,"class")
[1] "try-error"
attr(,"condition")
<simpleError in fun(1:4): could not find function "fun">
知道我在这里缺少什么吗?
谢谢!
【问题讨论】:
标签: r parallel-processing mpi