Home  |  Features  |  Download  |  Contact

Implemented Random Number Generators

Several random number generators are already implemented. Some of the implementations are based on the source code provided by the original authors of the random number generators. The according license and link is given in the source code files. All other files are licensed unter the MIT license.

Here is an incomplete list of the implemented generators:

  • MTGP (Mersenne Twister GPU version)
  • TT800
  • KISS
  • lfsr113
  • drand48

Using the collection

The integrated random number gererators can be benchmarked and tested against DIEHARDER and TestU01. First, you need to configure the testsuite by editing the config.mk file. DIEHARDER isn't included in the testsuite distribution so you will need to install it seperatly and set the binary path accordingly in the config. Precompiled binaries for the TestU01 crush test batteries are included as well as their source.

If the testsuite is installed and configured properly, executing make without any target should find and report all known tests and random number generators. To run a specific test for a random number generator, simply execute test_name-rng_name. Specifying all as random number generator will run the selected test for all random number generators as specified in config.mk.

Usage Examples

Below are some examples how the testsuite can be used and which results can be obtained.

This will show the usage information containing all known tests, random number generators as well as reports.

make bench_raw_performance-md5
This will run the raw performance benchmark for the md5 pseudo random number generator. The results will be shown while running and also be stored in results/bench_raw_performance-md5

make bench_raw_performance-all
This will run the raw performance benchmark for all configured random number generators and store the results in results/.

make bench_asian_options-mtgp
This will run the asian options benchmark for mtgp and store the results in the result directory.

make report-asian_options.ps
This will create a graph visualizing the performance for all configured random number generators using the asian options benchmark.

NeoTextureEdit sourceforge Project Page  
© 2010 Holger Dammertz, Christoph Schied. All rights reserved