Какое поведение следует ожидать при запуске MPI
программы без mpiexec/mpirun
, но скомпилированной с помощью MPI
компилятора? Специфицировано ли оно в стандарте?
Об этом говорится в разделе 10.5.2
стандарта:
A high-quality implementation will allow any process (including those not started with a “parallel application” mechanism) to become an MPI process by calling MPI_INIT. Such a process can then connect to other MPI processes using the MPI_COMM_ACCEPT and MPI_COMM_CONNECT routines, or spawn other MPI processes. MPI does not mandate this behavior, but strongly encourages it where technically feasible.
Advice to implementors. To start MPI processes belonging to the same MPI_COMM_WORLD requires some special coordination. The processes must be started at the “same” time, they must have a mechanism to establish communication, etc. Either the user or the operating system must take special steps beyond simply starting processes.
When an application enters MPI_INIT, clearly it must be able to determine if these special steps were taken. If a process enters MPI_INIT and determines that no special steps were taken (i.e., it has not been given the information to form an MPI_COMM_WORLD with other processes) it succeeds and forms a singleton MPI program, that is, one in which MPI_COMM_WORLD has size 1.
In some implementations, MPI may not be able to function without an “MPI environ- ment.” For example, MPI may require that daemons be running or MPI may not be able to work at all on the front-end of an MPP. In this case, an MPI implementation may either
A high-quality implementation will try to create a singleton MPI process and not raise an error.
(End of advice to implementors.)
То есть поведение не специфицировано, но рекомендовано в таком случае создавать коммуникатор размера 1 с нулевыми рангами процессов.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Создал линейный список и заполнил числами от 0 до 10Как удалить элемент списка, значение которого равно 5? Пожалуйста, подскажите
Нужен способ вытаскивать инфу из msi пакетаНашел решение в инете, на его основе сделал класс
Все работало буквально 10 минут назадСоздал новую сцену, все так же работало, но потом что-то пошло не так