[英]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.