У меня есть программа MPI, которая переподписывает / перегружает свои процессоры. То есть: процессов намного больше, чем процессоров.
Тем не менее, только некоторые из этих процессов активны в данный момент времени, поэтому не должно быть споров за вычислительные ресурсы.
Но, так же, как стая чаек из В поисках Немо, когда эти процессы ждут связи, они все заняты циклом, спрашивая: «Мой? Мой? Мой?»
Я использую Intel MPI и OpenMPI (для разных машин). Как я могу убедить их и то и другое не занятой петлей?
Моим быстрым и грязным решением было использовать MPI_Iprobe
в цикле с командой сна (см. Вот).
Это было некоторое время, так как это спросили, но это сообщение может иметь ответ, который вы ищете.
Кроме этого, если ваши процессы MPI ожидают на барьерах MPI, вы можете установить I_MPI_WAIT_MODE = 1, чтобы предотвратить цикл занятости в MPI INTEL. для OpenMPI см. связанный пост.
Других решений пока нет …