On Wednesday 20 April 2011 19:11:07, Roman Leshchinskiy wrote: > Daniel Fischer wrote: > > Further investigation of the sorting code in vector-algorithms > > revealed no bugs there, and if the runtime was forced to keep a keen > > eye on the indices, by replacing unsafeRead/Write/Swap with their > > bounds-checked counterparts or by 'trace'ing enough of their uses, > > the NaNs did not appear. > > Did you replace them in vector-algorithms or in vector itself? >
vector-algorithms only. > > So, is it possible that some change in ghc-7.0.3 vs. the previous > > versions caused a bad interaction between ghc-optimisations and vector > > fusion resulting in bad vector reads/writes? > > Am I right in assuming that this happens in code which uses only mutable > vectors? Yes, the sorting uses mutable vectors, in this case unboxed Double vectors. > Fusion only works for immutable ones so it shouldn't really > affect things here. Ah, didn't know that. Another suspect gone. > > Have you tried playing around with code generation flags like -msse2? No, not yet. So far only -O2 (with -fspec-constr-count=5 in the presence of many trace calls) and -O0. > > In any case, I would try to take a look at this if you tell me how to > reproduce. I'll prepare a bundle, I'm afraid it won't be small, though. And it might be architecture dependent, so I can't guarantee that you will be able to reproduce it. But Bryan said on IRC yesterday that others have reported similar issues with criterion output, so it may well be cross-platform reproducible. Cheers, Daniel _______________________________________________ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://www.haskell.org/mailman/listinfo/glasgow-haskell-users