Prev: solutions book
Next: real kind declaration
From: Dann Corbit on 3 Aug 2010 13:35 In article <i39iqp$sg7$1(a)news.eternal-september.org>, no(a)no.no says... > > On Tue, 03 Aug 2010 20:41:15 +1000, robin wrote: > > "Uno" <merrilljensen> wrote: > [snip code] > >> If you were to comment out the PL/I command line that compiled this, > >> what would it be? > > > > ??? > > Does that mean you don't understand Uno's question, > or don't know the answer? > > In case you don't understand the question, it appears > to be: "What command is used to compile the code?" It will depend on the operating system. Probably JCL along the lines of: // EXEC PL1LFCLG,REGION.PL1L=256K
From: Peter Flass on 3 Aug 2010 16:34 Dann Corbit wrote: > In article <i39iqp$sg7$1(a)news.eternal-september.org>, no(a)no.no says... >> On Tue, 03 Aug 2010 20:41:15 +1000, robin wrote: >>> "Uno" <merrilljensen> wrote: >> [snip code] >>>> If you were to comment out the PL/I command line that compiled this, >>>> what would it be? >>> ??? >> Does that mean you don't understand Uno's question, >> or don't know the answer? >> >> In case you don't understand the question, it appears >> to be: "What command is used to compile the code?" > > It will depend on the operating system. > Probably JCL along the lines of: > // EXEC PL1LFCLG,REGION.PL1L=256K or "plic -C" <filename>
From: sturlamolden on 3 Aug 2010 22:59 On 3 Aug, 06:37, Dann Corbit <dcor...(a)connx.com> wrote: > Mersenne Twister 19937 speed, single (Hz): 1.63278e+008 > Mersenne Twister 19937 speed, array (Hz): 1.3697e+008 > KISS 4691 speed, single (Hz): 1.86338e+008 > KISS 4691 speed, array (Hz): 1.87675e+008 Those numbers are in 100 million samples per second (10^8), so you have the same order of magnitude I reported. The array version of KISS is inlined (by macro expansion). These numbers are likely dependent on compiler and hardware. In you case, KISS4691 is always faster than MT19937. That is what I expected to see on my laptop as well, but did not. The speed difference is not very substantial, though, less than a factor of 2. I am more concerned about numerical quality. Which one should we use based on that? Sturla
From: Uno on 4 Aug 2010 00:20 Peter Flass wrote: > Dann Corbit wrote: >> In article <i39iqp$sg7$1(a)news.eternal-september.org>, no(a)no.no says... >>> On Tue, 03 Aug 2010 20:41:15 +1000, robin wrote: >>>> "Uno" <merrilljensen> wrote: >>> [snip code] >>>>> If you were to comment out the PL/I command line that compiled this, >>>>> what would it be? >>>> ??? >>> Does that mean you don't understand Uno's question, >>> or don't know the answer? >>> >>> In case you don't understand the question, it appears >>> to be: "What command is used to compile the code?" >> >> It will depend on the operating system. >> Probably JCL along the lines of: >> // EXEC PL1LFCLG,REGION.PL1L=256K > > or "plic -C" <filename> I'll restate the question, and I'm sure you'll get my drift. When I compile off a command line, I keep the command lines I used as the final comments in that file. So there might, in fortran, exist implicit real pi = 4.0 * atan(1.0) print *, pi endprogram !here it comes, the goocher: ! gfortran pi1.f90 -o out 1) What did you name this pli thing? 2) What command compiled it? 3) How does one comment in pli? 4) How does one caquire a pli facilty on ubuntu? Thanks for your comment, and holy balls did I get healthy today, -- Uno
From: orz on 4 Aug 2010 01:03
On Aug 3, 7:59 pm, sturlamolden <sturlamol...(a)yahoo.no> wrote: > On 3 Aug, 06:37, Dann Corbit <dcor...(a)connx.com> wrote: > > > Mersenne Twister 19937 speed, single (Hz): 1.63278e+008 > > Mersenne Twister 19937 speed, array (Hz): 1.3697e+008 > > KISS 4691 speed, single (Hz): 1.86338e+008 > > KISS 4691 speed, array (Hz): 1.87675e+008 > > Those numbers are in 100 million samples per second (10^8), so you > have the same order of magnitude I reported. The array version of KISS > is inlined (by macro expansion). > > These numbers are likely dependent on compiler and hardware. > > In you case, KISS4691 is always faster than MT19937. That is what I > expected to see on my laptop as well, but did not. The speed > difference is not very substantial, though, less than a factor of 2. > > I am more concerned about numerical quality. Which one should we use > based on that? > > Sturla MT19937 fails only a few relatively obscure empirical tests. There's a widespread belief that it's a good RNG and its few failed tests have little real world consequence. Reduced strength versions of MT19937 have a strong tendency to fail additional tests. KISS4691 fails no single-seed empirical tests, but it does fail some empirical tests for correlation between different seeds. Reduced strength versions tend to do better than reduced strength versions of MT19937, but not by much. If you want to go all out for quality over speed, the standard method is to simply encrypt the output of some RNG with AES or some comparable algorithm. That's much much slower than MT19937 or KISS4691, but pretty much perfect quality. Or you could xor the output of KISS4691 and MT19937. If you're willing to go with unknown-shortest-cycle-length RNGs then there are other options, many of which do perfectly on all empirical tests, and some of those also offer other advantages (such as being substantially faster than either KISS4691 or MT19937, or offering some degree of cryptographic security, or passing all empirical tests even in drastically reduced strength versions). But the famous people in RNG theory generally seem to think that unknown-shortest-cycle-length RNGs should not be trusted. |