J'ai commencé à utiliser le doMC
pour R en tant qu'arrière-plan parallèle pour les applications parallélisées. plyr
routines.
La parallélisation elle-même semble fonctionner correctement (bien que je n'aie pas encore évalué la vitesse), mon problème est que la journalisation est maintenant asynchrone et que les messages des différents cœurs sont mélangés. Je pourrais créer des fichiers de journalisation différents pour chaque cœur, mais je pense que la solution la plus nette serait d'ajouter simplement une étiquette différente pour chaque cœur. J'utilise actuellement le fichier log4r
pour mes besoins en matière de journalisation.
Je me souviens que, lorsque j'utilisais MPI, chaque processeur avait un rang, ce qui était un moyen de distinguer les processus les uns des autres. doMC
? J'ai eu l'idée d'extraire le PID, mais cela semble désordonné et changera à chaque itération.
Mais je suis ouvert aux idées, donc toute suggestion est la bienvenue.
MODIFIER (2011-04-08) : En suivant la suggestion d'une réponse, je dois encore identifier correctement le sous-processus dans lequel je me trouve actuellement, car j'aurais besoin de fermetures distinctes pour chaque processus. log()
pour qu'il écrive dans le bon fichier, ou bien j'aurais un simple log()
mais avec une logique interne déterminant le fichier journal à ajouter. Dans les deux cas, j'aurais toujours besoin d'un moyen d'étiqueter le sous-processus actuel, mais je ne suis pas sûr de la façon de le faire.
Existe-t-il un équivalent de la mpi_rank()
de la bibliothèque MPI ?