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
I am also seeing non-deterministic results when parallelising multiple queries across OpenMP threads. But as I saw in #117 this may be a consequence of randomly selecting leaf nodes, and not an issue with threads.
Is there a way to fix the seed so that results are always deterministic? If this is not ideal during production, at least during testing, so results can be debugged more easily.
The text was updated successfully, but these errors were encountered:
It is a little difficult to avoid the randomness of the seeds.
If you request more than 100 vectors as a result, the result is deterministic. This number 100 depends on the maximum number of objects in the leaf node of the tree index. The number is written in this line.
If 10 is set to this, even when you request only 10 vectors, the result remains deterministic. However, altering the number might affect the search performance.
Alternatively, if the following line is added in define.h.in, it might be possible to obtain deterministic results. #define NGT_DISABLE_SRAND_FOR_RANDOM
Somewhat related to #117.
I am also seeing non-deterministic results when parallelising multiple queries across OpenMP threads. But as I saw in #117 this may be a consequence of randomly selecting leaf nodes, and not an issue with threads.
Is there a way to fix the seed so that results are always deterministic? If this is not ideal during production, at least during testing, so results can be debugged more easily.
The text was updated successfully, but these errors were encountered: