Как запустить внешнюю программу на нескольких ядрах процессора с помощью Python? - PullRequest
0 голосов
/ 20 октября 2018

Я пытаюсь запустить несколько симуляций на внешней программе CalculiX, используя python.Я знаю, что скрипт python не может работать на нескольких ядрах процессора, но CalculiX - это внешняя программа, которую я запускаю с помощью команды os.system.Мне нужно запустить симуляции на нескольких ядрах, чтобы сэкономить время.

    os.system("ccx WireBend")

Это то, что я использую для запуска внешней программы, и она работает, это просто занимает много времени, так как вычисления выполняются с использованиемтолько один процессор.Итак, как я могу запустить ccx на нескольких ядрах?Я использую Python 3,6

Ответы [ 2 ]

0 голосов
/ 20 октября 2018

Вы можете установить переменную среды в терминал, из которого вы запускаете программу, или установить ее в скрипте следующим образом:

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

, затем запустить

os.system("ccx WireBend")
0 голосов
/ 20 октября 2018

С помощью subprocess.Popen вы можете открыть подпроцесс асинхронно (т. Е. Управление вернется к python до того, как подпроцесс завершится).

Используйте его много раз, чтобы порождать несколько подпроцессов, а затем проверить, имеет ли каждый из процессовпрекращено.

...