【问题标题】:Running Python MPI programs in Sun Grid Engine在 Sun Grid Engine 中运行 Python MPI 程序
【发布时间】:2012-02-03 16:23:00
【问题描述】:

我一直在用 C 编写非常简单的 MPI 程序。我不太擅长 C,但对 Python 很有信心。我开始知道 Python 有 MPI 绑定。我使用 Sun Grid Engine 作为 DRMS(分布式资源管理系统)。在开始使用 python MPI 之前,我想知道是否可以将 python mpi 程序提交给 Sun Grid Engine,以利用系统中所有可用的分布式处理器的能力。

那么,是否可以向 Sun Grid Engine 提交 python mpi 程序?

【问题讨论】:

    标签: python mpi sungridengine


    【解决方案1】:

    是的,这是可能的,它与使用mpirun 运行已编译的 MPI 代码没有任何不同。关于确保您的代码需要在每个节点上运行的可执行文件、库和支持文件的所有通常注意事项同样适用于 python 和已编译的 MPI 应用程序。

    Grid Engine 本身(或者至少是我使用过的 pre-Oracle、pre-commercial 版本)对 MPI 一无所知,本身,所以在您的工作从资源管理器您的 SGE 作业脚本可能需要为运行创建自己的机器文件(或运行启动脚本),并执行任何其他必要的咒语来准备将运行您的代码以执行的节点。旧的 SGE wiki 和邮件列表有很多有用的示例,用于在运行的 SGE 作业脚本中设置 MPI 机器文件。其内部细节几乎完全是 MPI 风格特有的,并且大部分独立于 SGE,因此提供细节有点困难,但最终在作业文件中运行 Python 应用程序的命令可以很简单

    mpirun <options here> python yourapp.py
    

    mpirun <options here> yourapp.py
    

    如果yourapp.py 具有可执行权限并且其中包含合适的shebang 行。我已经使用 MPICH2 和 SGE 运行了一些相当大的 mpi4py 应用程序,后者毫无困难。

    【讨论】:

    • +1,并想特别为 mpi4py 添加一票,这非常好。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-12-31
    • 2013-07-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多