我正在尝试使用python在外部程序CalculiX上运行多个模拟。我知道python脚本不能在多个cpu内核上运行,但是CalculiX是我通过os.system命令运行的外部程序。 我需要在多个内核上运行仿真以节省时间。
os.system("ccx WireBend")
这是我用来运行外部程序的方法,它可以正常工作,因为只使用一个cpu即可完成计算,因此只需要花费很多时间。 那么,如何在多个内核上运行ccx? 我正在使用python 3.6
答案 0 :(得分:0)
使用subprocess.Popen
可以异步打开子流程(即,控件将在子流程完成之前返回python)。
多次使用它来生成多个子进程,然后检查每个进程是否已终止。
答案 1 :(得分:0)
您可以在运行程序的位置将环境变量设置到终端中,或在脚本中将其设置如下:
import os
os.environ['OMP_NUM_THREADS']
OR
os.environ['OMP_NUM_THREADS'] = '10'
然后运行
os.system("ccx WireBend")