Subject: Re: [boost] [random] Determining interest in Pseudo-Random Functions and Counter Based Random Number Generators
From: John Salmon (john_at_[hidden])
Date: 2012-01-26 11:16:22
On Wed, Jan 25, 2012 at 7:05 PM, thijs_at_[hidden] <thijs_at_[hidden]> wrote:
> > Dear John,
> > On Tue, 3 Jan 2012 16:26:25 -0500
> > John Salmon <john_at_[hidden]> wrote:
> >> I am co-author of "Parallel Random Numbers, as Easy as 1, 2, 3". which
> >> recently won the best paper award at the IEEE/ACM SC'11 conference.
> >> I'm also co-author of the related Random123 library:
> >> http://deshawresearch.com/resources_random123.html
> >> My colleagues and I would like to contribute a similar library to
> >> Boost as well. This isn't just a "port" of the Random123 library.
> >> Boost's focus on C++ allows for both simplification and clarification
> >> of the ideas in the paper and the original library. I've done a
> >> preliminary draft of some code that fits nicely into the existing
> >> Boost Random library. It's incomplete, but I think there's enough for
> >> folks to look at and gauge further interest.
> > I would like to draw your attention to TRNG a C++ pseudo-random number
> > generator library for sequential and parallel Monte Carlo simulations.
> > It implements an interface which is basically an extension of the
> > random number generator facility of the new C++ standard. See
> > http://numbercrunch.de/trng/ for documentation and source code.
> > I have not jet read your full paper "Parallel Random Numbers, as Easy
> > as 1, 2, 3", however, I think your counter based generators should fit
> > nicely into the framework of TRNG and allow for fair parallel Monte
> > Carlo. (See http://pre.aps.org/abstract/PRE/v75/i6/e066701 or
> > http://arxiv.org/abs/cond-mat/0609584 for the notion of »playing fair«
> > in parallel Monte Carlo.)
> > Heiko
> I'll look into your paper! We have an interest in parallel rng for a Monte
> Carlo project, and after asking about boost efforts in this area here, and
> then after reading about TRNG, we decided to give TRNG a try because it
> looks very well designed. Our code will have a plugable prng design, so
> from that point of view I have no real preference of you idea being part of
> boost, TRNG or self-hosted. Being part of boost would be a slight benefit
> because it reduces the number of external dependencies to just boost in our
> At the moment It might be most logical to contribute to TRNG because that
> is mature and well designed, but that's my very subjective guess, and I'm
> fine wherever it lands.
> But first I should read your paper!
Our work is definitely complementary to TRNG. We go beyond TRNG by arguing
that if you use pseudo-random functions (which we call counter-based PRNGs
in the paper), in lieu of conventional PRNGs, then things like 'skip' and
'jump' and 'jump2' become moot. You simply don't need them. On the other
hand, if you have pseudo-random functions, then it's easy to implement
skip() and jump() and jump2() for the benefit of applications that are
already coded to a TRNG-like APIl. In fact, I'll probably do that in a
future release of the Random123 library.
Still, I would be pleased if our work became part of boost, and that boost
wouuld be enhanced by its inclusion, so I'm still interested in finding a
way to fit Random123 into boost.
> Unsubscribe & other changes:
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk