Ich möchte CPU-Kerne von mehreren Knoten verwenden, um ein einzelnes R-Skript auszuführen. Jeder Knoten enthält 16 Kerne und wird mir über ein Slurm-Tool zugewiesen.Einzelnes R-Skript auf mehreren Knoten
Bisher sieht mein Code wie folgt aus:
ncores <- 16
List_1 <- list(...)
List_2 <- list(...)
cl <- makeCluster(ncores)
registerDoParallel(cl)
getDoParWorkers()
foreach(L_1=List_1) %:%
foreach(L_2=List_2) %dopar% {
...
}
stopCluster(cl)
ich es über den folgenden Befehl in einem UNIX-Shell ausführen:
mpirun -np 1 R --no-save <file_path_R_script.R> another_file_path.Rout
, die auf einem einzelnen Knoten gut funktioniert. Allerdings habe ich nicht herausgefunden, ob es ausreicht, ncores auf 32 zu erhöhen, sobald ich Zugriff auf einen zweiten Knoten habe. Beinhaltet R automatisch die zusätzlichen 16 Kerne auf dem anderen Knoten? Oder muss ich ein anderes R-Paket nutzen?
Sie können 'mpirun' sagen, andere Hosts zu berücksichtigen. Es ist Teil Ihrer lokalen MPI-Einrichtung. –