gpt4 book ai didi

python中的mpi4py或多处理?

转载 作者:行者123 更新时间:2023-12-04 12:01:11 26 4
gpt4 key购买 nike

我正在编写一个机器学习工具包来并行运行具有不同设置的算法(每个进程运行一个设置的算法)。我正在考虑使用 mpi4py 或 python 的内置多处理?

我正在考虑一些优点和缺点。

  • 便于使用:
  • mpi4py:似乎有更多的概念需要学习,还有更多的技巧可以让它运行良好
  • 多处理:相当简单和干净的 API
  • 速度:
  • mpi4py:人们说它的级别更低,所以我希望它比 python 多处理更快?
  • 多处理:与mpi4py相比,慢得多?
  • 干净和简短的代码:
  • mpi4py:似乎要写更多的代码
  • 多处理:首选,易于使用的 API

  • 工作环境是我的目标是基本上在一台计算机或 GPU 服务器上运行代码。并不是真正针对在网络中的不同机器上运行(只有 MPI 可以做到)。

    由于主要目标是进行机器学习,因此并行化并不是真的需要非常优化,我想要的关键目标是平衡简单、干净和快速维护代码库,但同时喜欢利用并行化的好处。

    有了上述背景,是否建议使用多处理就足够了?或者是否有充分的理由使用 mpi4py ?

    最佳答案

    通过使用 mpi4py,您可以将任务划分为多个线程,但是对于性能或内核数量有限的单台计算机,可用性将受到限制。但是,您可能会在培训期间发现它很方便。

    mpi4py 构建在 MPI-1/2 规范之上,并提供了一个紧密遵循 MPI-2 C++ 绑定(bind)的面向对象的接口(interface)。

    MPI for Python 为 Python 语言提供 MPI 绑定(bind),允许程序员利用多处理器计算系统。
    MPI for Python 支持通用 Python 对象的便捷、基于pickle 的通信以及缓冲区提供程序对象的快速、接近 C 速度的直接数组数据通信

    关于python中的mpi4py或多处理?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50787392/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com