Shamrock 2025.10.0
Astrophysical Code
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
shamrock.tree::TreeMortonCodes< u_morton > Class Template Reference
+ Collaboration diagram for shamrock.tree::TreeMortonCodes< u_morton >:

Public Member Functions

template<class T >
void build (sycl::queue &queue, shammath::CoordRange< T > coord_range, u32 obj_cnt, sycl::buffer< T > &pos_buf)
 
template<class T >
void build (sham::DeviceScheduler_ptr dev_sched, shammath::CoordRange< T > coord_range, u32 obj_cnt, sham::DeviceBuffer< T > &pos_buf)
 
u64 memsize () const
 
 TreeMortonCodes (const TreeMortonCodes &other)
 
TreeMortonCodesoperator= (TreeMortonCodes &&other) noexcept
 
bool operator== (const TreeMortonCodes &rhs) const
 
void serialize (shamalgs::SerializeHelper &serializer)
 serialize a TreeMortonCodes object
 
shamalgs::SerializeSize serialize_byte_size ()
 give the size of the serialized object
 

Static Public Member Functions

template<class T >
static std::unique_ptr< sycl::buffer< u_morton > > build_raw (sycl::queue &queue, shammath::CoordRange< T > coord_range, u32 obj_cnt, sycl::buffer< T > &pos_buf)
 
static TreeMortonCodes deserialize (shamalgs::SerializeHelper &serializer)
 deserialize a TreeMortonCodes object Note : here since the initial buffer is a pow of 2 with trailling terms for the bitonic sort, when deserializing we are not loading the last values the buffer size is obj_cnt here
 

Public Attributes

u32 obj_cnt
 
std::unique_ptr< sycl::buffer< u_morton > > buf_morton
 
std::unique_ptr< sycl::buffer< u32 > > buf_particle_index_map
 

Detailed Description

template<class u_morton>
class shamrock.tree::TreeMortonCodes< u_morton >

Definition at line 29 of file TreeMortonCodes.hpp.

Constructor & Destructor Documentation

◆ TreeMortonCodes()

template<class u_morton >
shamrock.tree::TreeMortonCodes< u_morton >::TreeMortonCodes ( const TreeMortonCodes< u_morton > &  other)
inline

Definition at line 76 of file TreeMortonCodes.hpp.

Member Function Documentation

◆ build() [1/2]

template<class u_morton >
template<class T >
void shamrock.tree::TreeMortonCodes< u_morton >::build ( sham::DeviceScheduler_ptr  dev_sched,
shammath::CoordRange< T >  coord_range,
u32  obj_cnt,
sham::DeviceBuffer< T > &  pos_buf 
)

Definition at line 46 of file TreeMortonCodes.cpp.

◆ build() [2/2]

template<class u_morton >
template<class T >
void shamrock.tree::TreeMortonCodes< u_morton >::build ( sycl::queue &  queue,
shammath::CoordRange< T >  coord_range,
u32  obj_cnt,
sycl::buffer< T > &  pos_buf 
)

Definition at line 24 of file TreeMortonCodes.cpp.

◆ build_raw()

template<class u_morton >
template<class T >
template std::unique_ptr< sycl::buffer< u32 > > shamrock.tree::TreeMortonCodes< u_morton >::build_raw< u32_3 > ( sycl::queue &  queue,
shammath::CoordRange< T >  coord_range,
u32  obj_cnt,
sycl::buffer< T > &  pos_buf 
)
static

Definition at line 68 of file TreeMortonCodes.cpp.

◆ deserialize()

template<class u_morton >
static TreeMortonCodes shamrock.tree::TreeMortonCodes< u_morton >::deserialize ( shamalgs::SerializeHelper serializer)
inlinestatic

deserialize a TreeMortonCodes object Note : here since the initial buffer is a pow of 2 with trailling terms for the bitonic sort, when deserializing we are not loading the last values the buffer size is obj_cnt here

Parameters
serializer
Returns
TreeMortonCodes

Definition at line 125 of file TreeMortonCodes.hpp.

◆ memsize()

template<class u_morton >
u64 shamrock.tree::TreeMortonCodes< u_morton >::memsize ( ) const
inline

Definition at line 57 of file TreeMortonCodes.hpp.

◆ operator=()

template<class u_morton >
TreeMortonCodes & shamrock.tree::TreeMortonCodes< u_morton >::operator= ( TreeMortonCodes< u_morton > &&  other)
inlinenoexcept

Definition at line 85 of file TreeMortonCodes.hpp.

◆ operator==()

template<class u_morton >
bool shamrock.tree::TreeMortonCodes< u_morton >::operator== ( const TreeMortonCodes< u_morton > &  rhs) const

Definition at line 87 of file TreeMortonCodes.cpp.

◆ serialize()

template<class u_morton >
void shamrock.tree::TreeMortonCodes< u_morton >::serialize ( shamalgs::SerializeHelper serializer)
inline

serialize a TreeMortonCodes object

Parameters
serializer

Definition at line 100 of file TreeMortonCodes.hpp.

+ Here is the call graph for this function:

◆ serialize_byte_size()

template<class u_morton >
shamalgs::SerializeSize shamrock.tree::TreeMortonCodes< u_morton >::serialize_byte_size ( )
inline

give the size of the serialized object

Returns
u64

Definition at line 146 of file TreeMortonCodes.hpp.

Member Data Documentation

◆ buf_morton

template<class u_morton >
std::unique_ptr<sycl::buffer<u_morton> > shamrock.tree::TreeMortonCodes< u_morton >::buf_morton

Definition at line 33 of file TreeMortonCodes.hpp.

◆ buf_particle_index_map

template<class u_morton >
std::unique_ptr<sycl::buffer<u32> > shamrock.tree::TreeMortonCodes< u_morton >::buf_particle_index_map

Definition at line 34 of file TreeMortonCodes.hpp.

◆ obj_cnt

template<class u_morton >
u32 shamrock.tree::TreeMortonCodes< u_morton >::obj_cnt

Definition at line 31 of file TreeMortonCodes.hpp.


The documentation for this class was generated from the following files: