-
Notifications
You must be signed in to change notification settings - Fork 8
Recommencing computation
Karel Kubicek edited this page Mar 2, 2018
·
6 revisions
The entire run can be repeated bit-to-bit, providing these criteria are met:
-
seeding
Program is set to run from fixed seed and the same main seed as in previous run is provided. The seed is set in the config file as"seed" : null
, wherenull
means random seed (used seed will be written tostdout
for further repetition). If you want to insert specific seed, it is input as string in hexadecimal form, like:"seed" : "1fe40505e131963c"
. -
configuration file is the same (except the seeding)
The code uses PRNG in various parts and the computation is derived from generated data, therefore small changes of config file (like used metaheuristic) changes thePRNG state and also the computation determinism. -
quantum random data
If pre-generated random number data is used (e.g., obtained from Quantum Random Number Generator Service), the same data is provided now as was provided in the previous run. Note that most experiments are not using QRNG anymore. -
same compiler was used for the binaries
We encountered computation differences among different compilers (gcc, clang). This behavior is not inspected and well-known.
An alternative bit-to-bit computation is recommencing the initial state of previous computation (that is, loading state and initial population and providing same configuration file and random number data files).