[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