Запись в файл журнала с использованием doMPI

Я использую doMPI на HPC, и я хотел бы регистрировать выходные данные рабочих. Используя doParallel, я смог использовать makeCluster(outfile='myfile.log'), С doMPI, похоже, нет outfile аргумент в любом из методов. Я пытался с помощью sinkWorkerOutput(), Это работает, но только написал журнал для одного из рабочих. Я подозреваю, что каждый работник перезаписывает другого. Есть ли аналог для outfile для doMPI?

Смежный вопрос - внутри рабочего я могу найти номер рабочего?

РЕДАКТИРОВАТЬ: вот ссылка на ответ, обсуждающий, как использовать outfile: Как я могу печатать при использовании% dopar%

Спасибо за помощь,

Бен

1 ответ

Чтобы отправить рабочий вывод в файл в doMPI пакет, установите startMPIcluster "подробный" вариант TRUE:

cl <- startMPIcluster(verbose=TRUE)

Это создает один файл на каждого работника с именами в форме "MPI_1_steve_41747.log". Ранг MPI, имя пользователя и идентификатор процесса используются, чтобы сделать имена файлов уникальными. Вы также можете указать каталог журналов с помощью опции "logdir".

Чтобы получить рабочий номер, вы можете просто позвонить mpi.comm.rank функция.

Другие вопросы по тегам