我的 MPI 环中最多可以有 20 台机器。我怎样才能自动进行某种检查,确保所有机器都使用相同版本的 python 代码?有没有办法生成程序中所有模块/源文件的哈希值?
最佳答案
除了散列代码的 zip 存档之外,我不知道还有什么方法可以散列包内容。但是为什么不创建一个本地包存储库。 MPI 节点是否下载最新版本的包并在运行开始时安装它(本地或在 virtualenv 中,如果你愿意)?您也可以随时使用代码中的 setuptools/distribute 检查包版本。
或者,您可以使用 SCM,在每次运行前更新代码。然后您可以检查 scm 修订号作为版本的代理。
就我个人而言,第一个选项感觉更好,因为它在过程中增加了一些纪律(你必须在适当的时候实际构建一个新的包版本)。
关于python - 确保所有机器上的所有代码都相同 - python mpi,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5863897/