Shamrock 2025.10.0
Astrophysical Code
Loading...
Searching...
No Matches
Namespaces | Functions
groupReduction_usm_impl.hpp File Reference
#include "shambase/exception.hpp"
#include "shambase/memory.hpp"
#include "shamalgs/details/reduction/group_reduc_utils.hpp"
#include "shamalgs/memory.hpp"
#include "shambackends/fmt_bindings/fmt_defs.hpp"
#include "shambackends/math.hpp"
#include "shambackends/sycl.hpp"
#include "shambackends/sycl_utils.hpp"
#include "shambackends/vec.hpp"
+ Include dependency graph for groupReduction_usm_impl.hpp:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  shamalgs
 namespace to contain everything implemented by shamalgs
 

Functions

template<class T , class GroupCombiner , class IdentityGetter >
sycl::event shamalgs::reduction::details::reduc_step (sham::DeviceQueue &q, T *global_mem, sham::EventList &depends_list, u32 len, u32 &cur_slice_sz, u32 &remaining_val, u32 work_group_size, GroupCombiner &&group_combine, IdentityGetter &&identity_getter)
 
template<class T , class GroupCombiner , class BinaryOp , class IdentityGetter >
shamalgs::reduction::details::reduc_internal (const sham::DeviceScheduler_ptr &sched, const sham::DeviceBuffer< T > &buf1, u32 start_id, u32 end_id, u32 work_group_size, GroupCombiner &&group_combine, BinaryOp &&binary_op, IdentityGetter &&identity_getter)
 

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 groupReduction_usm_impl.hpp.

Function Documentation

◆ reduc_internal()

template<class T , class GroupCombiner , class BinaryOp , class IdentityGetter >
T shamalgs::reduction::details::reduc_internal ( const sham::DeviceScheduler_ptr &  sched,
const sham::DeviceBuffer< T > &  buf1,
u32  start_id,
u32  end_id,
u32  work_group_size,
GroupCombiner &&  group_combine,
BinaryOp &&  binary_op,
IdentityGetter &&  identity_getter 
)
inline

Definition at line 76 of file groupReduction_usm_impl.hpp.

◆ reduc_step()

template<class T , class GroupCombiner , class IdentityGetter >
sycl::event shamalgs::reduction::details::reduc_step ( sham::DeviceQueue q,
T *  global_mem,
sham::EventList depends_list,
u32  len,
u32 cur_slice_sz,
u32 remaining_val,
u32  work_group_size,
GroupCombiner &&  group_combine,
IdentityGetter &&  identity_getter 
)
inline

Definition at line 32 of file groupReduction_usm_impl.hpp.