|
Boost : |
Subject: Re: [boost] problems with the Random library in Boost v1.47
From: Hongyu Miao (jackymiao_at_[hidden])
Date: 2011-07-15 11:40:17
Hi, Steven
Thanks for your reply. I'm using MSVC 2010, too. I met such problems when I
generated a million random numbers with the mersenne_twister generator and
OpenMP. I'm not sure whether v1.47 is thread safe, though. Here is the code
triggered the memory access violation:
int num_point = 1000;
int n_para = 1000;
boost::numeric::ublas::matrix<double> ui(num_point,
n_para);
#pragma omp parallel for shared(ui, num_point, n_para)
private(i, j)
for (i=0; i<num_point; i++)
{
for (j=0; j<n_para; j++)
{
ui(i,j) = unirand_real(0.0,1.0);
}
}
Thanks,
Jacky
On 07/13/2011 11:35 AM, Hongyu Miao wrote:
> Sorry to bother you with this. I met a problem with the Random library in
> the latest release v1.47.
>
> <snip>
>
> However, when I adopted my code to v1.47, the following code failed due to
> memory access violation after a number of function calls:
>
> double unirand_real(double a, double b)
> {
> // Create a random number generator engine
> static boost::random::mt19937 rng_real(static_cast<unsigned
> int>(std::time(0)));
>
> // select Uniform probability distribution
> boost::random::uniform_real_distribution<> dist(a, b);
>
> // return random sample
> return dist(rng_real);
> }
>
> I will appreciate your help with this problem as right now I think the
> Random library may have a bug.
>
I can't reproduce this problem with MSVC 2010.
a) What compiler are you using?
b) Can you provide a complete minimal test case
that fails?
In Christ,
Steven Watanabe
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk