Я новичок в MPI. Если я напишу подобный код на c ++, как система определит, сколько рангов будет иметь программа?
Это не похоже на логику, которой мы придерживаемся в объектно-ориентированном языке: когда вы определяете массив, вы точно знаете размер.
Какой механизм они используют в MPI, чтобы позволить системе решать, сколько ранга и всего размера?
Это гибкий? Определить с помощью механики? Или просто автоматически генерировать при звонке?
int main(int argc, char *argv[]){
MPI_Init(NULL, NULL);
int size, rank;
MPI_Comm_size(MPI_COMM_WORLD, &size);
MPI_Comm_rank(MPI_COMM_WORLD, &rank);
if (rank == 4)
master();
else
slave(rank);
MPI_Finalize();
return 0;}