【问题标题】:programming languages Microsoft MPI support编程语言 Microsoft MPI 支持
【发布时间】:2015-09-08 00:54:49
【问题描述】:

我想知道 Microsoft MPI 支持哪些语言?我在https://msdn.microsoft.com/en-us/library/bb524831(v=vs.85).aspx 上找不到这些信息但是,内部函数参考只有 C++ 和 FORTRAN 文档。因此,我可以说它只支持 C++ 和 FORTRAN 吗? 它支持python吗?我更喜欢在我的项目中使用 python。 谢谢!

【问题讨论】:

    标签: mpi


    【解决方案1】:

    MS-MPI,基于 MPICH 并经过修改,提供 MPI 标准 C、C++ 和 Fortran 接口。

    如果你想要 Python(或 Rust、Julia 或任何你喜欢的语言),那么有很好的 3rd 方包。 MPI4PY(是 MPI 的优秀 Python 库,可与许多 MPI 实现一起使用。如果您遇到困难,请参阅此问题(How to successfully compile mpi4py using MS HPC Server 2008 R2's MPI stack?),但听起来现在 mpi4py“正常工作”。

    乐高在这里做了一个很好的类比。 MPI(任何实现)就像一个大底板。也许它是绿色、红色、蓝色,但它是“东西”的标准基础。您不必使用 MS-MPI。你可以使用任何东西。 mpi4py 是一个库。它提供了 python 例程并在幕后为您进行 C mpi 调用。 mpi4py 不关心(太多)它是插入绿色基板还是红色基板。标准 API 允许这种互操作性

    在您的情况下,您想要进行 python 调用。 mpi4py 将为您提供 python 并为您进行 MS-MPI 调用。 mpi4py 本身有点没用。它需要一个 MPI 库。 MS-MPI 是适合您平台的优秀 MPI 库。您需要先设置 MS-MPI,然后设置 mpi4py。如果您想有一天将您的代码带到其他地方,您可能需要一个不同的 MPI 库。好消息:标准意味着更换 MPI 库(因为你想尝试新的东西或者因为你去了不同的平台)很容易做到

    【讨论】:

    • 我很困惑“如何使用 MS HPC Server 2008 R2 的 MPI 堆栈成功编译 mpi4py?”我理解的 MPI4PY 是一个 python mpi 库,它如何与 MS MPI 包一起使用?
    • 想想乐高积木。 MPI(任何实现)就像一个大底板。也许它是绿色、红色、蓝色,但它是“东西”的标准基础。您不必使用 MS-MPI。你可以使用任何东西。 mpi4py 是一个库。它提供了 python 例程并在幕后为您进行 C mpi 调用。 mpi4py 不关心(太多)它是插入绿色基板还是红色基板。标准 API 允许这种互操作性。
    • 所以我可以认为 MS-MPI 是大基板,而 mpi4py 就像一个可以与 MS-MPI 连接的接口,以便 mpi4py 实际调用底层的 MS-MPI 函数?
    • 就是这样。您想进行 python 调用,因此 mpi4py 将为您提供 python 并为您进行 MS-MPI 调用。
    • 谢谢!综上所述,仅仅下载并安装mpi4py是不够的,因为mpi4py需要结合一些mpi内核来使用多核或多机能力。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多