![]() |
Shamrock 2025.10.0
Astrophysical Code
|
#include "shambase/aliases_int.hpp"#include "shambackends/DeviceBuffer.hpp"#include "shambackends/DeviceScheduler.hpp"#include "shamtree/KarrasTreeTraverser.hpp"
Include dependency graph for KarrasRadixTree.hpp:
This graph shows which files directly or indirectly include this file:Go to the source code of this file.
Classes | |
| class | shamtree::KarrasRadixTree |
| A data structure representing a Karras Radix Tree. More... | |
Functions | |
| template<class Tmorton > | |
| KarrasRadixTree | shamtree::karras_tree_from_morton_set (sham::DeviceScheduler_ptr dev_sched, u32 morton_count, sham::DeviceBuffer< Tmorton > &morton_codes, KarrasRadixTree &&recycled_tree) |
| Constructs a KarrasRadixTree from a set of reduced Morton codes. | |
| template<class Tmorton > | |
| KarrasRadixTree | shamtree::karras_tree_from_morton_set (sham::DeviceScheduler_ptr dev_sched, u32 morton_count, sham::DeviceBuffer< Tmorton > &morton_codes) |
| Constructs a KarrasRadixTree from a set of reduced Morton codes without reuse. | |
| std::string | shamtree::karras_tree_to_dot_graph (KarrasRadixTree &recycled_tree) |
| Get tree as dot graph. | |
Definition in file KarrasRadixTree.hpp.
| KarrasRadixTree shamtree::karras_tree_from_morton_set | ( | sham::DeviceScheduler_ptr | dev_sched, |
| u32 | morton_count, | ||
| sham::DeviceBuffer< Tmorton > & | morton_codes | ||
| ) |
Constructs a KarrasRadixTree from a set of reduced Morton codes without reuse.
Equivalent to karras_tree_from_morton_set but performs the allocations.
| Tmorton | The type of the Morton codes. |
| [in] | dev_sched | A pointer to the device scheduler used for managing execution on the device. |
| [in] | morton_count | The number of Morton codes provided. |
| [in] | morton_codes | A device buffer containing the Morton codes. |
Definition at line 187 of file KarrasRadixTree.cpp.
Here is the call graph for this function:| KarrasRadixTree shamtree::karras_tree_from_morton_set | ( | sham::DeviceScheduler_ptr | dev_sched, |
| u32 | morton_count, | ||
| sham::DeviceBuffer< Tmorton > & | morton_codes, | ||
| KarrasRadixTree && | recycled_tree | ||
| ) |
Constructs a KarrasRadixTree from a set of reduced Morton codes.
This function builds a KarrasRadixTree using the provided set of Morton codes. The tree is constructed by resizing the buffers for left and right child IDs, child flags, and end ranges to accommodate the internal cells, then executing the Karras algorithm on the device scheduler's queue.
| Tmorton | The type of the Morton codes. |
| [in] | dev_sched | A pointer to the device scheduler used for managing execution on the device. |
| [in] | morton_count | The number of Morton codes provided. |
| [in] | morton_codes | A device buffer containing the Morton codes. |
| [in,out] | recycled_tree | A KarrasRadixTree object from which we will reuse the allocs. |
Definition at line 153 of file KarrasRadixTree.cpp.
Here is the call graph for this function:| std::string shamtree::karras_tree_to_dot_graph | ( | KarrasRadixTree & | recycled_tree | ) |
Get tree as dot graph.
Definition at line 239 of file KarrasRadixTree.cpp.
Here is the call graph for this function: