-
Notifications
You must be signed in to change notification settings - Fork 119
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
Refactor src/gnu
#1330
Comments
I'd be delighted to see the gnu subdirectory disappear. |
Was discussing today about PRNGs, we were wondering if we shouldn't drop some unused number generators? https://nrn.readthedocs.io/en/latest/python/programming/math/random.html?highlight=random#Random.ACG As far as I understand , only cc: @jamesgking |
For what it's worth, MLCG and ACG do not appear to be used in any ModelDB entries. |
Impossible. The results will now depends of the stdlib used (more or less gnu or clang). We will never be able to keep the tests working. Quit. |
Could you please clarify a little more what you mean? That results (simulation output like spike times?) will change with the version of stdlib in use? |
We cannot modify distributions because if we do, results would be different depending of the standard lib used. |
@sanjayankur31 The important word is the "Quit". After considerable amounts of time trying to rework the random number generation, and after painstakingly checking that the old and new code produces the (if it's not buggy) same distributions, he noticed that it's simply not possible to modernize this part because it would break many tests and also make the sequence of random numbers generated dependent on the things he mentioned. Therefore, it looks like he cancelled all outstanding efforts to modernize this part of the code. None of the PRs that would have introduced the undesirable behavior mentioned were merged, IIUC. |
Thanks both, that makes sense. Thanks for looking into it @alkino---I had briefly looked into it initially (in #145) but given up quite early when I'd seen the scale of the task. You made a lot more progress and are certainly braver than me :) |
Not familiar with all the code in
gnu
(except for thed_avec
refactoring tostd::vector
)A couple of ideas to brainstorm:
Can all be replaced? Do we have a 1to1 replacement in the std library? Do we need to maintain all of them?
Binary differences to be expected
The text was updated successfully, but these errors were encountered: