gpt4 book ai didi

python - 如何在 Python 中并行化列表理解计算?

转载 作者:IT老高 更新时间:2023-10-28 21:33:31 24 4
gpt4 key购买 nike

列表解析和映射计算都应该(至少在理论上)相对容易并行化:列表解析中的每个计算都可以独立于所有其他元素的计算来完成。例如在表达式中

[ x*x for x in range(1000) ]

每个 x*x 计算可以(至少在理论上)并行完成。

我的问题是:是否有任何 Python-Module/Python-Implementation/Python Programming-Trick 来并行化列表理解计算(为了使用所有 16/32/... 内核或将计算分布在计算机上-网格或云上)?

最佳答案

正如 Ken 所说,它不能,但使用 2.6 的 multiprocessing模块,并行计算非常容易。

import multiprocessing

try:
cpus = multiprocessing.cpu_count()
except NotImplementedError:
cpus = 2 # arbitrary default


def square(n):
return n * n

pool = multiprocessing.Pool(processes=cpus)
print(pool.map(square, range(1000)))

documentation 中也有示例展示了如何使用 Managers 来做到这一点,它也应该允许分布式计算。

关于python - 如何在 Python 中并行化列表理解计算?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5236364/

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