It is not clear what effect the loading of modules affects Simics'
determinism... nor did you mention using a fixed RANDOM_SEED for Ruby.
Try fixing RANDOM_SEED at some constant, say, 3, and see if you get
determinism or not.
Regards,
Dan
Guoqiang Yang wrote:
Hi Dan,
Many thanks for the reply. I just want to verify my understanding.
According to your email, basically ruby is deterministic but you are not
sure about the simics part, is that right? To my understanding, simics
should be deterministic since it is designed so. As for my simulation
environment, I turned ruby, opal, and simics on, and I did get
different result. Is that supposed to happen?
Best regards,
Guoqiang Yang
==============
Ruby is deterministic, provided it has *exactly* the same environment on
the repeat run. That includes random seed (i.e., RANDOM_SEED), as well
as less obvious things, like ENV string length, directory structure,
Simics version, etc. Because Ruby is only controlling a small portion of
what happens (Simics is in the driver's seat, if you will), Ruby cannot
guarantee an identical execution if Simics' behavior is somehow
different. We do not know if Simics itself uses internal randomness, and
if so, how to seed that randomness. This is one of the many reasons why
we often present multiple runs of each data point to attain 95%
confidence intervals.
Regards,
Dan
_______________________________________________
Gems-users mailing list
Gems-users@xxxxxxxxxxx
https://lists.cs.wisc.edu/mailman/listinfo/gems-users
Use Google to search the GEMS Users mailing list by adding "site:https://lists.cs.wisc.edu/archive/gems-users/" to your search.
|