Optimization and refactoring of the permutation algorithm#2617
Merged
Conversation
…kanar/hines/node_order_optim
This comment has been minimized.
This comment has been minimized.
|
✔️ c3e4d26 -> Azure artifacts URL |
|
✔️ 39c8cce -> Azure artifacts URL |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
nrnhines
approved these changes
Nov 20, 2023
nrnhines
left a comment
Member
There was a problem hiding this comment.
My suggestions are entirely optional.
|
✔️ dccc456 -> Azure artifacts URL |
This comment has been minimized.
This comment has been minimized.
|
✔️ 79ab06c -> Azure artifacts URL |
This comment has been minimized.
This comment has been minimized.
|
SonarCloud Quality Gate failed.
|
|
✔️ 3da5e31 -> Azure artifacts URL |
Collaborator
pramodk
approved these changes
Jan 7, 2024
nrnhines
added a commit
that referenced
this pull request
Apr 12, 2024
* nrn and corenrn share src/coreneuron/permute files. #if CORENRN_BUILD used where code fragments differ * Optimization and refactoring of the permutation algorithm (#2617) * external/ringtest tests ParallelContext.optimize_node_order(i) * Unit test for permutation algorithms * Added permute benchmark file * Clearing up more unused code in NEURON and added implementations for reverse_permute * Improve return values of new functions based on C++ core guidelines * Windows has no std::aligned_alloc. There is an _aligned_alloc, but that must be paired with _aligned_free. cannot std::swap if one is malloc and other is new --------- Co-authored-by: Ioannis Magkanaris <iomagkanaris@gmail.com> Co-authored-by: Pramod Kumbhar <pramod.s.kumbhar@gmail.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.











I believe that's a good start to improve a bit how the permutation algorithm is applied to the NEURON vectors.
For the next steps and to avoid duplicating the code between NEURON and CoreNEURON I think we need to think about the following:
NEURONandCoreNEURON. Newnamespace? Code compiled forNEURONandCoreNEURONseparately?int*tovectors in bothNEURONandCoreNEURONto avoid redefinition of functions based on*andstd::vectors