Запуск mpirun с 2 ядрами / 4 потоками - PullRequest
0 голосов
/ 01 июня 2019

Я использую 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 ядра?

Спасибо

1 Ответ

0 голосов
/ 01 июня 2019

Решение зависит от конкретной реализации MPI. Это вовсе не проблема OpenMDAO, а скорее проблема с вашей библиотекой MPI. Похоже, вы уже видели это, потому что пытаетесь предоставить файл хоста.

Я думаю, что у вас просто неправильный выбор. Попробуйте:

mpiexec -np 4 -H localhost --hostfile rankfile python modified_objective.py
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...