В настоящее время я создаю небольшую служебную библиотеку как часть более крупного проекта. OpenMPI имеет хорошо документированную библиотеку API, но я немного озадачен, когда дело доходит до связи между узлами на более низком уровне. Я знаю, что при написании вашего алгоритма вы распределяете его по всем узлам, которые, как ожидается, будут выполнять вычисления, каждый из которых взаимодействует с остальными, выполняя часть алгоритма на основе их «глобального» ранга MPI (как определено в алгоритме) и все узлы синхронизируются вперед и назад. Однако причина, по которой я поместил global в кавычки, заключается в том, что openMPI взаимодействует на уровне ip, поэтому я говорю, что у меня уже есть длинный алгоритм выполнения, но есть узел, который простаивает, не запуская никаких процессов MPI, если я выполняю свой MPI алгоритм на нем, присоединится ли он к MPI_COMM_WORLD и станет частью общей топологии сети, или есть какое-то «шаманство», которое мне нужно сделать, чтобы сделать этот узел частью MPI_COMM_WORLD. Кроме того, если узлы могут стать частью MPI_COMM_WORLD для этого конкретного алгоритма, как я могу зарегистрировать/идентифицировать этот новый узел?
любые ссылки на чтение также полезны.
огромное спасибо!
tl;dr можно ли заменить узлы MPI в горячем режиме из MPI_COMM_WORLD?