Случайное число для каждого процесса в MPI
Я использую MPICH2 для реализации сортировки "нечетный-четный". Я сделал реализацию, но когда я рандомизирую каждому процессу его значение, то же число рандомизируется для всех процессов.
Вот код для каждого процесса, каждый процесс рандомизировал его значение.
int main(int argc,char *argv[])
{
int nameLen, numProcs, myID;
char processorName[MPI_MAX_PROCESSOR_NAME];
int myValue;
MPI_Init(&argc,&argv);
MPI_Comm_rank(MPI_COMM_WORLD,&myID);
MPI_Comm_size(MPI_COMM_WORLD,&numProcs);
MPI_Get_processor_name(processorName,&nameLen);
MPI_Status status;
srand((unsigned)time(NULL));
myValue = rand()%30+1;
cout << "myID: " << myID << " value: " << myValue<<endl;
MPI_Finalize();
return 0;
}
почему каждый процесс получает одинаковое значение?
Редактировать: спасибо за ответы :)
Я изменил линию
srand((unsigned)time(NULL));
в
srand((unsigned)time(NULL)+myID*numProcs + nameLen);
и это дает разные значения для каждого процесса :)