【问题标题】:python multiprocessing google compute enginepython多处理谷歌计算引擎
【发布时间】:2019-01-08 19:36:39
【问题描述】:

我有一个 python 脚本,我通过多处理在我的旧四核笔记本电脑上运行。模拟不能并行化,我只是在不同的内核上运行它的不同实例。

我正在考虑在谷歌计算引擎上租用一些更强大的 CPU。我是否可以使用相同的 python 多处理脚本,但有更多可用内核?

脚本只是调用一个池,然后多次 apply_async

【问题讨论】:

  • 是的,你可以。

标签: python python-2.7 multiprocessing google-compute-engine


【解决方案1】:

多处理在 Google 的虚拟机上的工作方式与在本地机器上的工作方式相同(大致...)。为了使用一个盒子上所有可用的内核,不要将processes 参数传递给multiprocesing.Pool,例如:

pool = multiprocessing.Pool(processes=None)

这将使 Python 创建一个带有 multiprocessing.cpu_count() 进程数的 Poolcpu_count通常是多个内核。

【讨论】:

    【解决方案2】:

    是的,应该可以。如果您需要访问同一实例上的多个内核,例如 App Engine flexible runtime,它使用 Compute Engine 作为底层 VM,您可以 configure the number of cores available

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-12-05
      • 2014-04-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-07
      • 2016-08-26
      相关资源
      最近更新 更多