-
Notifications
You must be signed in to change notification settings - Fork 10
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Shuffling nodes affects scf/ccf behaviour #51
Comments
Changing the code to update all nodes on every round leads to more failures on xf and yf even without round-level shuffling. Because updating rounds essentially quantify propagation of signals, thus making the simulation behave more like real hardware, updating all nodes effectively works as cross-round shuffling. The failures we see with that quantification eliminated should probably suggest that all or at least many instructions updating flags 3 and 5 depend on particular propagation timings, technically meaning race condition, with
|
This prevents unnecessary updates of nodes that were previously members of these groups.
This makes it easier to consider various orders in which gates are getting updates.
This should simplify computing and accessing dependencies between nodes.
Needed to keep the old states available, whuch in turn is needed to consider different orders of updating gate states.
scf/ccf
seems to be susceptible to the order nodes are getting updated in during simulation.Can be reproduced on ec19a48, with seemingly any seed, though one time I observed all tests passing with the shuffling enabled on an early version of the patch that didn't support seeding yet, so presumably not all seeds will do.
Feels like this may have something to do with
rlca
& Co. not having the expected effect onscf/ccf
in our simulation as mentioned in #42 (comment).The task is to try to minimise the reproducer and determine the specific conditions that trigger the behaviour change.
xref: https://discord.com/channels/654774470652723220/689220116801650811/1031181913878183966
The text was updated successfully, but these errors were encountered: