Я пытаюсь исправить программу на python, которая будет использовать пул рабочих для выполнения задач в вычислительной среде Linux hpc. Я хочу установить количество работников в пуле равным количеству потоков, которые я запросил для моей работы.
Такие команды, как multiprocessing.cup_count()
и num_procs
, возвращают 64, то есть количество потоков на узле, но не количество потоков, назначенных моей работе.
Мое текущее решение состоит в том, чтобы выполнить команду grep в командном файле для определения количества потоков, а затем проверить вывод:
os.system('grep -i "batch -n" * > output')
file_ = open('output','r')
file_lines = file_.readlines()
file_.close()
for line in file_lines:
elems = line.strip().split()
if '-n' in elems:
position = elems.index('-n')
num_procs = elems[position+1]
Есть ли более лаконичный и прямой способ сделать это?