使用 Python 进行并行计算

Posted

技术标签:

【中文标题】使用 Python 进行并行计算【英文标题】:Parallel computing with Python 【发布时间】:2011-05-31 15:52:01 【问题描述】:

这是我的python脚本的代码:

  import time
  for j in range(1,150,1):
        for i in range(1,5,1):    
           x = j + i
           print(x)
           time.sleep(180)

这个脚本是从我的有限元程序开始的,它可以被 python 操作。如果我启动这个脚本,它就会开始运行,但如果调用 time.sleep 被激活,有限元程序也会停止工作。脚本的主要任务是开始打印 5 次“x” 停止脚本一段时间,然后再次打印 5 次“x”。在最终程序中使用了另一个命令,而不是“打印”。必须避免停止 FE 程序。我该如何管理?我已经尝试过不同的东西,例如线程,但这也不起作用。你的意思是这个问题可以通过使用并行进程来解决吗? 感谢您的建议。

【问题讨论】:

【参考方案1】:

你是否打算这样做:

#! /usr/bin/env python

import threading
import time

class Worker (threading.Thread):
    def run (self):
        for j in range(1,150,1):
            for i in range(1,5,1):
                x = j + i
                print "Worker says: %d" % x
            time.sleep (5)

if __name__ == '__main__':
    Worker ().start ()
    for i in range (1, 100):
        print "Main thread says: I am running."
        time.sleep (1)

【讨论】:

以上是关于使用 Python 进行并行计算的主要内容,如果未能解决你的问题,请参考以下文章

Python基于pyCUDA实现GPU加速并行计算功能入门教程

python--并行计算

并行计算Python / Raspberry Pi

用python写GPU上的并行计算程序,有啥库或者编译器

python变量内存地址释放与加速并行计算多线程

用Python实现多核心并行计算