相关疑难解决方法(0)

如何并行化一个简单的Python循环?

这可能是一个微不足道的问题,但我如何在python中并行化以下循环?

# setup output lists
output1 = list()
output2 = list()
output3 = list()

for j in range(0, 10):
    # calc individual parameter value
    parameter = j * offset
    # call the calculation
    out1, out2, out3 = calc_stuff(parameter = parameter)

    # put results into correct output list
    output1.append(out1)
    output2.append(out2)
    output3.append(out3)
Run Code Online (Sandbox Code Playgroud)

我知道如何在Python中启动单线程,但我不知道如何"收集"结果.

多个过程也可以 - 对于这种情况最简单的事情.我正在使用当前的Linux,但代码应该在Windows和Mac上运行.

并行化此代码的最简单方法是什么?

python parallel-processing

200
推荐指数
11
解决办法
25万
查看次数

OpenMP和Python

我有为共享内存机器(在C和FORTRAN中)编码OpenMP的经验,可以执行矩阵添加,乘法等简单任务(只是为了看看它与LAPACK的竞争).我知道OpenMP足以执行简单的任务而无需查看文档.

最近,我为我的项目转移到Python,除了绝对的基础知识,我没有任何Python经验.

我的问题是:

在Python中使用OpenMP 最简单的方法是什么?最简单的,我的意思是那个在程序员方面花费最少的工作(即使是以增加的系统时间为代价)?

我使用OpenMP的原因是因为串行代码可以转换为一个工作的并行代码,其中有几个!$OMP散布在周围.实现粗略并行化所需的时间非常小.有没有办法在Python中复制这个功能?

通过浏览SO,我可以找到:

  • C扩展
  • StackLess Python

还有更多吗?哪个与我的问题最符合?

python parallel-processing openmp

53
推荐指数
6
解决办法
7万
查看次数

标签 统计

parallel-processing ×2

python ×2

openmp ×1