gpt4 book ai didi

python - 在 Python 中通过并行生成处理函数中的变量

转载 作者:行者123 更新时间:2023-12-01 06:06:13 25 4
gpt4 key购买 nike

我有一个蒙特卡罗模拟器,它有一个计算函数,它在循环中调用很多(数百万或更多)次。为了加快速度,我想将其拆分为对模拟器的多个并行线程调用。 IE。如果我想要总共运行 100 万次,请将其分成 4 - 250,000 次并行运行。如果每个线程都使用相同的变量名,我该如何处理以避免冲突?我是否必须使用不同名称的变量创建 4 个独立版本的模拟器?

我已经开始使用 Python 线程模块编写一个版本,但我确信变量仍然存在问题。

有什么建议吗?

感谢您的宝贵时间。

凯尔

最佳答案

如果您的代码是纯 Python,并且您使用的是 CPython,则由于 global interpreter lock,线程可能不会加速您的代码。 。您可能正在寻找的是 multiprocessing module ,具体来说是 Pool.map() method .

由于使用multiprocessing意味着使用单独的进程而不仅仅是单独的线程,因此锁定之类的问题将变得不那么重要。

也就是说,使用 NumPy 对代码进行矢量化或使用 C 或 Cython 等高效编译语言编写内部循环可能比将其并行化到四个核心带来更多的加速。

关于python - 在 Python 中通过并行生成处理函数中的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7876039/

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