我正在使用降雪进行并行计算。我总是只在一台具有多个 CPU(> 20 个内核)的机器上。我正在处理大量数据(> 20gb)。sfExport() 需要很长时间。
当我在笔记本电脑上运行测试代码并检查 CPU 使用率时,有时它也可以在没有 sfExport() 的情况下工作。
我的代码的某些部分是嵌套的 sfLapply() 函数。喜欢:
func2 <- function(c,d, ...) {
result <-
list(x = c+d,
y = ..,
...
)
return(result)
}
func1 <- function(x, a, b, c, ...) {
library(snowfall)
d <- a+b
result <- sfLapply(as.list(b$row), func2, c, d, ...)
return(result)
}
result <- sfLapply(as.list(data.table$row), func1, a, b, c, ..)
我什么时候真的需要将数据导出到所有 CPU?
谢谢和最好的问候尼科