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.
make
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.