next up previous contents index
Next: PNM images Up: Tips and useful procedures Previous: random-2d-points n procedure

Repeatable experiments

   It can be really difficult to debug programs that run concurrently on many processors.

Unlike a real amorphous computer, HLSIM is deterministic. Some decisions are arbitrary, for example, the placement of a processor might be decided by using pseudo-random numbers. This means that it is possible to run the `same' simulation by using the same set of arbitrary decisions.

You can make a random state and save it like this:

(fasdump (make-random-state #T) "1.rnd")

Later you can initialize the default random number generator as follows. Note that you should always use make-random-state to copy random state before assigning it to *random-state*.

 (set! *random-state* (make-random-state (fasload "1.rnd")))

(define sim (make-sim/1 1000 0.05))

Erik Rauch
Sat May 8 16:42:57 EDT 1999