Передача аргументов через командную строку с помощью MPI

Я использую вызовы MPI для запуска процедуры в нескольких процессах с использованием C ++. Первые несколько строк в моей функции Main выглядят так:

int main(int argc, char *argv[]){
int comm_sz;
int my_rank;

MPI_Init(&argc, &argv);
MPI_Comm_size(MPI_COMM_WORLD, &comm_sz);
MPI_Comm_rank(MPI_COMM_WORLD, &my_rank);

x = atoi(argv[4]);
y = atoi(argv[5]);

Теперь, когда я выполняю и запускаю свою программу, используя

mpiexec -n 1 program 10 10

, я хочу, чтобы x и y были присвоены значения 10 и 10, поскольку они являются переданными 4 и 5 аргументами. Но этого не происходит, и он присваивает этим переменным 0 и 0 соответственно. и моя программа не работает должным образом.

Когда я меняю эти номера, у меня отображается серийный код. Просто я новичок в MPI.

Вы можете подсказать, в чем я ошибаюсь?

18
задан freshmaster 7 February 2012 в 23:50
поделиться