【发布时间】:2018-10-20 17:10:39
【问题描述】:
我正在尝试使用 python 在外部程序 CalculiX 上运行多个模拟。我知道 python 脚本不能在多个 cpu 内核上运行,但 CalculiX 是我通过 os.system 命令运行的外部程序。 我需要在多个内核上运行模拟以节省时间。
os.system("ccx WireBend")
这是我用来运行外部程序的东西,它可以工作,只是需要很多时间,因为计算只使用一个 cpu 完成。 那么如何在多个内核上运行 ccx 呢? 我正在使用 python 3.6
【问题讨论】:
-
看来你应该在你试图运行的程序中处理多处理,而不是在这种情况下在 python 中。
-
根据 CalculiX 的文档,它需要使用来自环境变量
OMP_NUM_THREADS的内核数,所以尝试设置它。 -
我已将 OMP_NUM_THREADS 设置为我的核心数量。当我独立运行 calculix 时,它使用所有内核,但如果我通过 python 运行它,它只使用一个
-
os.system("export OMP_NUM_THREADS=10 && ccx WireBend") -
我试过了,它给出了以下错误:
'export' is not recognized as an internal or external command, operable program or batch file.
标签: python multicore os.system cpu-cores