Shamrock 2025.10.0
Astrophysical Code
Loading...
Searching...
No Matches
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)
TreeMortonCodes & operator= (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>
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
inlinenodiscard

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: