#python #mpi
#python #mpi
Вопрос:
В моих кольцах MPI может быть до 20 компьютеров. Как я могу автоматизировать своего рода проверку того, что все компьютеры используют одну и ту же версию своего кода на python? Есть ли способ сгенерировать хэш всех модулей / исходных файлов в вашей программе?
Ответ №1:
Я не знаю способа хэширования содержимого пакета, кроме хэширования zip-архива кода. Но почему бы не создать локальный репозиторий пакетов. Должны ли узлы MPI загружать последнюю версию пакета и устанавливать ее (локально или в virtualenv, если вы предпочитаете) в начале запуска? Вы также всегда можете проверить версию пакета с помощью setuptools / distribute из кода.
В качестве альтернативы вы могли бы использовать SCM, обновляя код перед каждым запуском. Затем вы можете проверить номер редакции scm в качестве прокси для версии.
Лично мне первый вариант кажется лучше, поскольку он вносит небольшую дисциплину в процесс (вам придется фактически создавать новую версию пакета, когда это необходимо).
Комментарии:
1. В конце я сгенерировал хэш основных файлов, которые, вероятно, изменятся, и разослал хэш для подтверждения материала.