Probleme avec doMC (calcul sur plusieurs cores)
Bonjour,
Je commence à me pencher sur la parallélisation de calcul sur plusieurs cores.
L'exemple suivant marche très bien.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
|
library(doMC)
registerDoMC()
x <- iris[which(iris[, 5] != "setosa"), c(1, 5)]
trials <- 10000
ptime <- system.time({
r <- foreach(icount(trials), .combine = cbind) %dopar% {
ind <- sample(100, 100, replace = TRUE)
result1 <- glm(x[ind, 2] ~ x[ind, 1], family = binomial(logit))
coefficients(result1)
}
})[3]
ptime |
Avec le moteur d'activité je peux voir que les deux cores sont utilisés.
Par contre avec cet autre exemple :
Code:
1 2 3 4 5 6 7 8
|
library(doMC)
registerDoMC()
trials <- 30000
ptime <- system.time({
x <- foreach(icount(trials)) %dopar% sqrt(i)
})[3]
ptime |
Il n'y a qu'un seul core qui travaille . Alors que je voudrais faire travailler les deux.
J'espère que quelqu'un a un peu d'expérience sur ce sujet.
Cordialement.