Shamrock 2025.10.0
Astrophysical Code
Loading...
Searching...
No Matches
Functions
MortonReducedSet.cpp File Reference
#include "shamtree/MortonReducedSet.hpp"
#include "shamalgs/details/algorithm/algorithm.hpp"
#include "shambackends/DeviceBuffer.hpp"
#include "shamtree/kernels/reduction_alg.hpp"
#include <utility>
+ Include dependency graph for MortonReducedSet.cpp:

Go to the source code of this file.

Functions

template<class Tmorton , class Tvec , u32 dim>
MortonReducedSet< Tmorton, Tvec, dim > shamtree::reduce_morton_set (const sham::DeviceScheduler_ptr &dev_sched, MortonCodeSortedSet< Tmorton, Tvec, dim > &&morton_codes_set, u32 reduction_level, sham::DeviceBuffer< u32 > &&cache_buf_reduc_index_map, sham::DeviceBuffer< Tmorton > &&cache_reduced_morton_codes)
 Reduces the given Morton code set by grouping together Morton codes that are close to each other in the tree.
 
template<class Tmorton , class Tvec , u32 dim>
MortonReducedSet< Tmorton, Tvec, dim > shamtree::reduce_morton_set (const sham::DeviceScheduler_ptr &dev_sched, MortonCodeSortedSet< Tmorton, Tvec, dim > &&morton_codes_set, u32 reduction_level)
 Reduces the given Morton code set by grouping together Morton codes that are close to each other in the tree.
 

Detailed Description

Author
Timothée David–Cléris (tim.s.nosp@m.hamr.nosp@m.ock@p.nosp@m.roto.nosp@m.n.me)

Definition in file MortonReducedSet.cpp.

Function Documentation

◆ reduce_morton_set() [1/2]

template<class Tmorton , class Tvec , u32 dim>
MortonReducedSet< Tmorton, Tvec, dim > shamtree::reduce_morton_set ( const sham::DeviceScheduler_ptr &  dev_sched,
MortonCodeSortedSet< Tmorton, Tvec, dim > &&  morton_codes_set,
u32  reduction_level 
)

Reduces the given Morton code set by grouping together Morton codes that are close to each other in the tree.

Parameters
dev_schedThe device scheduler to use for the reduction
morton_codes_setThe set of Morton codes to reduce
reduction_levelThe amount of reduction to apply
Returns
The reduced set of Morton codes

Definition at line 76 of file MortonReducedSet.cpp.

+ Here is the call graph for this function:

◆ reduce_morton_set() [2/2]

template<class Tmorton , class Tvec , u32 dim>
MortonReducedSet< Tmorton, Tvec, dim > shamtree::reduce_morton_set ( const sham::DeviceScheduler_ptr &  dev_sched,
MortonCodeSortedSet< Tmorton, Tvec, dim > &&  morton_codes_set,
u32  reduction_level,
sham::DeviceBuffer< u32 > &&  cache_buf_reduc_index_map,
sham::DeviceBuffer< Tmorton > &&  cache_reduced_morton_codes 
)

Reduces the given Morton code set by grouping together Morton codes that are close to each other in the tree.

Parameters
dev_schedThe device scheduler to use for the reduction
morton_codes_setThe set of Morton codes to reduce
reduction_levelThe amount of reduction to apply
cache_buf_reduc_index_mapA device buffer to be reused for the reduction index map
cache_reduced_morton_codesA device buffer to be reused for the reduced Morton codes
Returns
The reduced set of Morton codes

Definition at line 25 of file MortonReducedSet.cpp.

+ Here is the call graph for this function: