From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 23174 invoked by alias); 17 Mar 2008 14:31:28 -0000 Received: (qmail 23162 invoked by uid 22791); 17 Mar 2008 14:31:27 -0000 X-Spam-Check-By: sourceware.org Received: from mail.phy.duke.edu (HELO mail.phy.duke.edu) (152.3.182.2) by sourceware.org (qpsmtpd/0.31) with ESMTP; Mon, 17 Mar 2008 14:30:54 +0000 Received: from localhost (localhost.localdomain [127.0.0.1]) by mail.phy.duke.edu (Postfix) with ESMTP id A01CE1507C3 for ; Mon, 17 Mar 2008 10:30:51 -0400 (EDT) Received: from mail.phy.duke.edu ([127.0.0.1]) by localhost (mail.phy.duke.edu [127.0.0.1]) (amavisd-new, port 10026) with LMTP id xXDKJxLaJB2G for ; Mon, 17 Mar 2008 10:30:51 -0400 (EDT) Received: from cain.rgb.private.net (client212-5.dsl.intrex.net [209.42.212.5]) by mail.phy.duke.edu (Postfix) with ESMTP id D7A26150145 for ; Mon, 17 Mar 2008 10:30:50 -0400 (EDT) Date: Mon, 17 Mar 2008 14:31:00 -0000 From: "Robert G. Brown" To: GSL Discussion list Subject: 64 bit rng interface? Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Mailing-List: contact gsl-discuss-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gsl-discuss-owner@sourceware.org X-SW-Source: 2008-q1/txt/msg00037.txt.bz2 Hey all. I'm getting close to a new release of dieharder with a bunch of bug fixes and (I'm hoping) the gnu build tools all correctly implemented for the handling of the library and to automate multiplatform/OS builds. It will also have a few more tests -- one of which should be a very, very good one, that in principle will embrace all the overlapping monkey tests out to 16 bit patterns but return a more precise statistic, and it will have a small stack of additional RNGs both old and new all wrapped up GSL style (some of which are probably worthy of addition to the GSL itself) as people are starting to really contribute them and use dieharder to test ones they are developing. But that's not why I'm writing as it isn't really ready yet for anything beyond some alpha/beta testing of the fixes made so far. What I'd like to know are the following two things: a) Are there plans for a 64-bit GSL RNG interface? A number of my correspondants are working on algorithms that can run equally well at 64 bits, and 64 bit unsigned ints invert to double precision uniform deviates. b) Are there plans for a "vectorized" interface? I'd envision this as a user-selectable switch on the creation/initialization step that builds (say) a page-sized buffer. On the first call, this buffer would be filled with random bits in a single step, keeping the generation code on the CPU and cache and permitting certain pipelining optimizations. Subsequent calls would simply walk a pointer through the buffer to the end, where the "refill buffer" command would once again be called and the pointer reset to the beginning before returning. This would obviously be undesireable for people who only want to use a handful of rands or for whom variable latency is a problem, but I'm guestimating that it would speed up the AVERAGE rate of delivery of rands by at least a factor of 2, maybe more. For simulation people; the average rate of rand production is often a significant bottleneck, and on a long-running simulation a factor of two can be the difference between six months and maybe four months. rgb -- Robert G. Brown Phone(cell): 1-919-280-8443 Duke University Physics Dept, Box 90305 Durham, N.C. 27708-0305 Web: http://www.phy.duke.edu/~rgb Book of Lilith Website: http://www.phy.duke.edu/~rgb/Lilith/Lilith.php Lulu Bookstore: http://stores.lulu.com/store.php?fAcctID=877977