Hi cafe,

I want to add the ability to use AES-NI instructions on Intel architectures
to GHC.  Mainly I'd like to do splittable random number generators based on
AES as was suggested at the outset of this email.  (I met Burton Smith last
week and this topic came up.)

I was just reading the below thread about the plugin architecture which got
me thinking about what the right way to add AES-NI is.  (Disregarding for a
moment portability and the issue of where to test cpuid...)

http://www.haskell.org/pipermail/glasgow-haskell-users/2011-January/019874.html

The FFI is always an option.  But after reading the first N pages I could
come across from google I'm still not totally clear on whether "unsafe"
foreign calls can happen simultaneously from separate Haskell threads (and
with sufficiently low overhead for this purpose).

I also ran across the phrase "compiler primitive" somewhere wrt GHC:
    http://hackage.haskell.org/trac/ghc/wiki/AddingNewPrimitiveOperations

Is that the right way to go?  Or would the compiler plugin mechanism
possibly allowing doing this without modifying mainline GHC?

Thanks,
  -Ryan

On Fri, Nov 12, 2010 at 6:26 PM, wren ng thornton <w...@freegeek.org> wrote:

> On 11/12/10 5:33 AM, Richard Senington wrote:
>
>> It does not give the results you would want. This may have something to
>> do with picking "good" parameters for the mkLehmerTree function.
>> For example, using a random setup, I just got these results
>> result expected range
>> 16.814 expected = 16.0 (1,31)
>> 16.191 expected = 16.5 (1,32)
>> 16.576 expected = 17.0 (1,33)
>> 17.081 expected = 17.5 (1,34)
>> 17.543 expected = 18.0 (1,35)
>>
>
> Have you run any significance tests? I wouldn't be surprised to see +/-0.5
> as within the bounds of expected randomness. I'm more worried about it
> seeming to be consistently on the -0.5 end of things, than I am about it not
> matching expectation (how many samples did you take again?). For small
> ranges like this, a consistent -0.5 (or +0.5) tends to indicate off-by-one
> errors in the generator.
>
> --
> Live well,
> ~wren
>
> _______________________________________________
> Haskell-Cafe mailing list
> Haskell-Cafe@haskell.org
> http://www.haskell.org/mailman/listinfo/haskell-cafe
>
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to