Hi, the problem is here:
On Monday 19 May 2008 22:58:08 Sergey Mkrtchyan wrote: > srand(time(NULL)); time (NULL) returns the seconds elapsed since January 1, 1970, so it's clear that instances of your program that get started during the same second will have their random number generator initialised to the same value and will therefore yield the same results. A possible workaround could be to use the function gettimeofday () which returns the current time with a better resolution (should work at least on Linux), see http://linux.die.net/man/2/gettimeofday You have to add #include <sys/time.h> to your source file, and then struct timeval tv; gettimeofday (&tv, NULL); leaves you with the number of seconds since 1970 in tv.tv_sec and microseconds in tv.tv_usec. A better idea might be to pass the random seed as an argument to each instance of your program (if that's easily possible with the system you use to submit the jobs to the cluster), e.g., you would run program 1 program 2 program 3 ... or something like that. This would make it 100% sure that each process yields different results, and moreover, your results would be reproducible. I hope I could help you! Frank _______________________________________________ Help-gsl mailing list [email protected] http://lists.gnu.org/mailman/listinfo/help-gsl
