繁体   English   中英

如何使用python在多个cpu内核上运行外部程序?

[英]How to run external program on multiple cpu cores using python?

我正在尝试使用python在外部程序CalculiX上运行多个模拟。 我知道python脚本不能在多个cpu内核上运行,但是CalculiX是我通过os.system命令运行的外部程序。 我需要在多个内核上运行仿真以节省时间。

    os.system("ccx WireBend")

这就是我用来运行外部程序的方法,它可以正常工作,因为仅使用一个cpu即可完成计算,因此仅花费大量时间。 那么,如何在多个内核上运行ccx? 我正在使用python 3.6

使用subprocess.Popen可以异步打开子流程(即,在子流程完成之前控件将返回到python)。

多次使用它来生成多个子流程,然后检查每个流程是否已终止。

您可以在运行程序的终端中将环境变量设置为终端,或在脚本中将其设置为如下所示:

import os
os.environ['OMP_NUM_THREADS']
OR
os.environ['OMP_NUM_THREADS'] = '10'

然后跑

os.system("ccx WireBend")

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM