TNode is the tree node that represents the tree of the compartments.
More...
#include <tnode.hpp>
TNode is the tree node that represents the tree of the compartments.
Definition at line 27 of file tnode.hpp.
◆ TNode()
neuron::TNode::TNode |
( |
int |
ix | ) |
|
◆ ~TNode()
neuron::TNode::~TNode |
( |
| ) |
|
|
virtual |
◆ mkhash()
size_t neuron::TNode::mkhash |
( |
| ) |
|
◆ cellindex
size_t neuron::TNode::cellindex |
level of of this compartment in the tree
Definition at line 57 of file tnode.hpp.
◆ children
◆ groupindex
size_t neuron::TNode::groupindex |
Cell ID that this compartment belongs to.
Definition at line 58 of file tnode.hpp.
◆ hash
size_t neuron::TNode::hash |
Hash algorith that generates a hash based on the hash of the children and the number of compartments of the children.
Definition at line 35 of file tnode.hpp.
◆ level
size_t neuron::TNode::level |
For cell permute 1 (Interleaved):
- This is the id given to the compartments based on a Breadth First access on the tree that is created in the original circuit
- This is what makes the cell ordering interleaved For cell permute 2 (Constant Depth): VVVTN: Vector (groups of cells) of vector (levels of this group of cells. Maxsize = maxlevel) of vector of TNodes This changes 3 times during cell permute 2:
- According to the sorting of the nodes of each level
- According to the sorting of the parents' treenode_order of the previous ordering
- According to children and parents data races. Parents and children of the tree are moved by question2() so that threads that exist on the same warp don't have data races when updating the children and parent variables, so that threads have to wait in atomic instructions. If there are any races then those are solved by atomic instructions.
Definition at line 56 of file tnode.hpp.
◆ nodeindex
int neuron::TNode::nodeindex |
Initialized index / groupsize.
Definition at line 59 of file tnode.hpp.
◆ nodevec_index
size_t neuron::TNode::nodevec_index |
Total number of compartments from the current node and below.
Definition at line 37 of file tnode.hpp.
◆ parent
TNode* neuron::TNode::parent |
◆ treenode_order
size_t neuron::TNode::treenode_order |
index in nodevec that is set in check() In cell permute 2 this is set as Breadth First traversal
Definition at line 39 of file tnode.hpp.
◆ treesize
size_t neuron::TNode::treesize |
Hash value generated by mkhash.
Definition at line 36 of file tnode.hpp.
The documentation for this class was generated from the following files:
- /home/docs/checkouts/readthedocs.org/user_builds/nrn/checkouts/3466/src/coreneuron/network/tnode.hpp
- /home/docs/checkouts/readthedocs.org/user_builds/nrn/checkouts/3466/src/coreneuron/permute/cellorder1.cpp