You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Describe the bug
Non-deterministic behavior in ESOP computation in Kitty. Functions esop_from_optimum_pkrm, and esop_from_pprm_slow use an unordered_set data structure to store the cubes. That content is moved to a vector later. Since the order of the cubes in the vector dependents on the compiler, it leads to a non-deterministic behavior.
Environment
OS: MacOS, Linux, Windows
Compiler: all the tested ones
Compilation mode: DEBUG or RELEASE
Check list
I have tried to run in DEBUG mode and there was no assertion failure (or the reported bug is an assertion failure).
I have made sure that the provided code compiles and the testcase reproduces the error.
I have minimized the testcase.
The text was updated successfully, but these errors were encountered:
Are the results wrong, or just non-deterministic? In my opinion, producing non-deterministic but correct results is not counted as a "bug", although it is not preferred in an experiment setting.
I'm not even sure if non-deterministic is the correct word, if you said the result depends on the compiler. I think non-deterministic means if you run it multiple times on the same machine, the results are different (e.g. when time is used as the random seed, or memory-related bugs depending on the memory address or content being allocated each time).
Also, maybe we should put this issue in kitty, not in mockturtle.
Describe the bug
Non-deterministic behavior in ESOP computation in Kitty. Functions
esop_from_optimum_pkrm
, andesop_from_pprm_slow
use anunordered_set
data structure to store the cubes. That content is moved to a vector later. Since the order of the cubes in the vector dependents on the compiler, it leads to a non-deterministic behavior.Environment
Check list
The text was updated successfully, but these errors were encountered: