la différence entre ddcm et doParallel dans la R
Quelle est la différence entre doParallel
et doMC
dans la R concernant foreach
fonction? doParallel
prend en charge windows, unix-like, alors que doMC
prend en charge de type unix seulement. En d'autres termes, pourquoi doParallel
ne peut pas remplacer doMC
directement? Merci.
Mise à jour:
doParallel
est construit sur parallel
, qui est essentiellement une fusion de multicore
et snow
et utilise automatiquement l'outil approprié pour votre système. En conséquence, nous pouvons utiliser doParallel
charge plusieurs systèmes. En d'autres termes, nous pouvons utiliser doParallel
pour remplacer doMC
.
ref: http://michaeljkoontz.weebly.com/uploads/1/9/9/4/19940979/parallel.pdf
BTW, quelle est la différence entre registerDoParallel(ncores=3)
et
cl <- makeCluster(3)
registerDoParallel(cl)
Il semble registerDoParallel(ncores=3)
pouvez arrêter de cluster automatiquement, tandis que le second ne s'arrête pas automatiquement et les besoins stopCluster(cl)
.
ref: http://cran.r-project.org/web/packages/doParallel/vignettes/gettingstartedParallel.pdf
- juste pour que les deux se relier stackoverflow.com/questions/28829300/...
- Double Possible de doParallel, cluster vs cœurs
Vous devez vous connecter pour publier un commentaire.
La
doParallel
package est une fusion dedoSNOW
etdoMC
, commeparallel
est une fusion desnow
etmulticore
. Mais bien quedoParallel
possède toutes les caractéristiques dedoMC
, j'ai été dit par de Riches Calaway de Revolution Analytics qu'ils ont voulu garderdoMC
autour de parce que c'était plus efficace dans certaines circonstances, même sidoMC
utilise maintenantparallel
commedoParallel
. Je n'ai personnellement pas exécuter les points de repère pour déterminer si et quand il y a une différence significative.J'ai tendance à utiliser
doMC
sur Linux ou un ordinateur Mac OS X,doParallel
sur un ordinateur Windows, etdoMPI
sur un cluster Linux, maisdoParallel
fonctionne sur toutes ces plates-formes.Comme pour les différentes méthodes d'enregistrement, si vous exécutez:
sur une machine Windows, il va créer un objet cluster implicitement pour une utilisation ultérieure avec
clusterApplyLB
, alors que sur Linux et Mac OS X, pas de cluster objet est créé ou utilisé. Le nombre de cœurs est tout simplement de le rappeler et de la valeur de lamc.cores
argument plus tard lors de l'appel demclapply
.Si vous exécutez:
puis enregistrés cluster objet sera utilisé avec
clusterApplyLB
indépendamment de la plate-forme. Il est exact que dans ce cas, il est de votre responsabilité d'arrêter le cluster de l'objet depuis sa création, alors que l'implicite cluster objet est automatiquement mise à l'arrêt.doMC
de Riches Calaway de Revolution Analytics? En outre, il n'existe aucune différence en considérant la performance dans lencores
etmakeCluster
situation? J'ai développé un R cogena le paquet où parallèle a été copié avecdoMC
à l'origine. J'ai juste changé ladoParallel
à la prise en charge de Windows il ya quelques heures. C'est une litière complexes concernantNAMESPACE
etimport
lors de la mise en œuvre par mélange dedoMC
etdoParallel
. Je vous remercie.doParallel
et de vous garder à jour.cores
pasncores
. Il ne m'a pas permis de modifier votre réponse en moins de 6 caractères.