Parallélisation sur plusieurs PC
Bonjour,
J'essaie de lancer un script R sur plusieurs PC. Pour faire cela j'ai trouvé sur le Web deux posibilités :
1ere :
Code:
1 2 3 4 5 6 7
|
cluster <- makePSOCKcluster("localhost")
parSapply(cluster, 1:5, sqrt)
stopCluster(cluster)
spec=c(rep("localhost",4),rep("Adresse IP du second poste",4))
makeCluster(spec=spec,master=spec[1],type="PSOCK",port=10187, timeout = 5,outfile="") |
2ème : (http://www.win-vector.com/blog/2016/...many-machines/)
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
primary <- 'Adresse IP de mon pc'
machineAddresses <- list(
list(host=primary,user='nig',ncore=4),
list(host='Adresse IP du second poste',user='nig',ncore=4)
)
spec <- lapply(machineAddresses,
function(machine) {
rep(list(list(host=machine$host,
user=machine$user)),
machine$ncore)
})
spec <- unlist(spec,recursive=FALSE)
parallelCluster <- parallel::makeCluster(type='PSOCK', master=primary,spec=spec)
print(parallelCluster) |
Pour la première solution, le code s'éxécute mais ne s'arrête pas.
Pour la seconde solution, je rencontre l'erreur suivante :
Code:
1 2 3 4
|
> parallelCluster <- parallel::makeCluster(type='PSOCK', master=primary,spec=spec)
Error in assign(names[i], new[[i]], envir = options) :
premier argument incorrect |
Auriez vous une idée?
Merci par avance.