Я использую mpirun для вызова кода openMDAO, который использует параллельную группу, которая содержит 4 подсистемы. Я могу успешно вызвать код с терминала следующим образом.
mpirun -n 2 python modified_objective.py
Однако, поскольку мой компьютер имеет 2 ядра / 4 потока, я хочу использовать все 4 потока для ускорения моего кода. Но я получаю ошибку следующим образом:
В системе недостаточно доступных слотов, чтобы удовлетворить 4 слота
которые были запрошены приложением:
питон
Либо запросите меньше слотов для вашего приложения, либо сделайте больше слотов
доступны для использования.
Одной из работ, которые я нашел в Интернете, является использование файла ранжирования текста следующим образом:
rank 0=localhost slot=0:0
rank 1=localhost slot=0:0
rank 2=localhost slot=0:1
rank 3=localhost slot=0:1
и затем вызовите код следующим образом:
mpiexec -np 4 -H localhost -rf rankfile python modified_objective.py
Но, похоже, это не работает. Есть ли другой способ использовать все 4 ядра?
Спасибо