[Omp] initialize a array with rundom numbers in a parallel loop

Meadows, Lawrence F lawrence.f.meadows at intel.com
Thu Jan 5 11:35:20 PST 2006


Looks a lot like a race condition to me -- seed is a shared variable.

Parallel random numbers are non-trivial 

>-----Original Message-----
>From: Omp-bounces at openmp.org [mailto:Omp-bounces at openmp.org] 
>On Behalf Of Priya Unnikrishnan
>Sent: Thursday, January 05, 2006 10:50 AM
>To: Omp at openmp.org
>Subject: [Omp] initialize a array with rundom numbers in a 
>parallel loop
>
>You can use rand_r - a reentrant pseudo-random integer
>generator.
>
>#include<stdio.h>
>#include<stdlib.h>
>
>int main(){
>   int a[1000],i;
>   unsigned int seed=5;
>
># pragma omp parallel for
>   for(i=0;i<999;i++){
>      a[i] = rand_r(&seed);
>   }
>
>
>Lado Kumsiashvili herrlado at arcor.de 
>Wed Jan 4 17:57:31 EST 2006 
>
>Hallo!
>
>To solve my excersize i have to initialize a array
>with random numbers
>in a parallel loop(for). But i found out, that
>random() function from
><stdlib.h> not threadsafe ist. Is there any better
>Solution ?
>
>Lado
>
>
>
>-- 
>
>
>
>-----------------------------------
>        Lado Kumsiashvili
>lado at student.uni-kassel.de
>-----------------------------------
>
>
>
>
>
>		
>__________________________________________ 
>Yahoo! DSL - Something to write home about. 
>Just $16.99/mo. or less. 
>dsl.yahoo.com 
>
>
>_______________________________________________
>Omp mailing list
>Omp at openmp.org
>http://openmp.org/mailman/listinfo/omp_openmp.org
>




More information about the Omp mailing list