Boost logo

Boost Users :

From: John Maddock (john_at_[hidden])
Date: 2007-12-12 07:59:56


Geoff Wedig wrote:
> Hello,
>
> We are experiencing a problem with boost::random using icc on Windows
> under optimization. If we compile with the -O1 option, we get correct
> behavior. Compiling with -O2 or no -O option gives us a string of
> zeros.
>
> We have compiled a small test case which shows this problem:

> To date, I've done a lot of hunting trying different compiler options
> to attack this problem. The compiler option which seems to have the
> most consistent effect, in that adding it makes the program work,
> whereas removing it makes it not is -Qunroll0.
>
> I am guessing something in the optimization is causing the generator
> not to initialize properly, but I do not, at present, know how to
> solve it.
>
> Has anyone else seen this, or have any ideas what might be going
> wrong?

Sorry, no. What I normally do in cases like this is a bit of "comparitive
debugging": start up two instances of Visual Studio, and debug both, one
with optimisation on, one with it off, and see what the difference is.

It's always possible that there's an un-initialised variable bug lurking
somewhere of course, but I would have expected that to have shown up by now
if that was the case.

BTW, I tried your code with reasonably up to date versions of Intel 9.1 and
10.0 using -Ox and everything worked as expected. Which Intel compiler
version are you using?

HTH, John.


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net