나는 폭설을 병렬 컴퓨팅에 사용하고 있습니다. 나는 항상 하나의 머신에서만 여러 개의 CPU (20 개 이상의 코어)를 사용하고 있습니다. 많은 양의 데이터를 처리하고 있습니다 (> 20GB). sfExport()는 매우 오래 걸립니다.언제 sfExport (R Snowfall 패키지)를 사용해야합니까?
내 랩톱에서 테스트 코드를 실행하고 CPU 사용량을 확인하면 sfExport() 없이도 작동합니다.
내 코드 일부는 중첩 된 sfLapply() 함수입니다. Like :
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로 정말로 내 보내야합니까?
감사와 안부 니코