Параллельная обработка и временные файлы

Я ' m с помощью функции mclapply в многоядерном пакете для параллельной обработки. Похоже, что все запущенные дочерние процессы производят одинаковые имена для временных файлов, заданные функцией tempfile . т.е. если у меня четыре процессора,

library(multicore)
mclapply(1:4, function(x) tempfile())

даст четыре точно таких же имени файла. Очевидно, мне нужно, чтобы временные файлы были разными, чтобы дочерние процессы не перезаписывали файлы друг друга. При косвенном использовании временного файла , то есть при вызове некоторой функции, которая вызывает временный файл , я не могу контролировать имя файла.

Есть ли способ обойти это? Есть ли у других пакетов параллельной обработки для R (например, foreach ) такая же проблема?

Обновление : это больше не проблема, начиная с R 2.14.1. Некоторым из них нужны импортированные функции. Каковы плюсы и минусы импорта необходимых вещей внутри class / ...

Я создал модуль с именем util , который предоставляет классы и функции, которые я часто использую в Python. Некоторым из них нужны импортированные функции. Каковы плюсы и минусы импорта необходимых вещей внутри определения класса / функции? Что лучше, чем import в начале файла модуля? Это хорошая идея?

44
задан Josh Crozier 9 December 2013 в 04:39
поделиться