python - SLURM:在多个节点上运行一项作业?(使用 python 作业库)
问题描述
我正在尝试在由 SLURM 管理的集群上运行我的 python 程序(我是新手)。我使用 python joblib 在我的程序中并行化一些 for 循环。有没有办法在多个节点上运行我的工作(仅包含我的程序,因此只有一个任务),以便它可以访问比仅在一个节点中更多的 CPU?
编辑:在此之后(但当然是从我的 sbatch 文件中调用 mpriun),它会在最后排名的进程之前引发错误:
Traceback (most recent call last):
File "arisMPI.py", line 4, in <module>
comm.Barrier()
File "mpi4py/MPI/Comm.pyx", line 567, in mpi4py.MPI.Comm.Barrier
mpi4py.MPI.Exception: Unknown error class, error stack:
PMPI_Barrier(289).....................: MPI_Barrier(comm=MPI_COMM_WORLD) failed
PMPI_Barrier(275).....................:
MPIR_Barrier_impl(175)................:
MPIR_Barrier_intra_auto(110)..........:
MPIR_Barrier_intra_dissemination(49)..:
MPIDU_Complete_posted_with_error(1137): Process failed
Traceback (most recent call last):
File "arisMPI.py", line 4, in <module>
comm.Barrier()
File "mpi4py/MPI/Comm.pyx", line 567, in mpi4py.MPI.Comm.Barrier
mpi4py.MPI.Exception: Unknown error class, error stack:
PMPI_Barrier(289).....................: MPI_Barrier(comm=MPI_COMM_WORLD) failed
PMPI_Barrier(275).....................:
MPIR_Barrier_impl(175)................:
MPIR_Barrier_intra_auto(110)..........:
MPIR_Barrier_intra_dissemination(49)..:
MPIDU_Complete_posted_with_error(1137): Process failed
你碰巧知道那可能是什么吗?仅在一个节点上运行时不会发生这种情况。我用谷歌搜索但找不到明确的答案,只有遇到同样问题的其他人。
编辑:问题是 mpi4py 链接到的 MPI 与我集群中的 MPI 不同。在 mpi4py 安装期间卸载 mpi4py 并设置正确的 mpicc 路径解决了这个问题。
解决方案
推荐阅读
- javascript - 当我在 REACT 中单击项目时,如何应用其余项目的样式?
- javascript - 我的 React Child 正在使用钩子,并且由于某种原因,正在重新渲染父级
- python - 将字典转换为特殊字典python
- algorithm - 证明加油站的贪心算法是有效的
- c++ - Gradle 包含目录下的所有文件(“递归”)
- sharepoint-online - 在 Power Automate 中加入 2 个 SharePoint 列表
- json - 如何在表vuejs中显示json
- mongodb - Mongoose - 如何访问/选择当前数据并将其与要更新的数据进行比较?
- javascript - 函数已定义但从未在 Vue 组件的脚本部分中使用
- c# - Newtonsoft 直接 json 属性名映射