Shamrock 2025.10.0
Astrophysical Code
Loading...
Searching...
No Matches
Namespaces | Functions
numericFallback.hpp File Reference
#include "shambackends/DeviceBuffer.hpp"
#include "shambackends/DeviceScheduler.hpp"
#include "shambackends/sycl.hpp"
+ Include dependency graph for numericFallback.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
 
namespace  shamalgs::numeric
 namespace containing the numeric algorithms of shamalgs
 

Functions

template<class T >
sycl::buffer< T > shamalgs::numeric::details::exclusive_sum_fallback (sycl::queue &q, sycl::buffer< T > &buf1, u32 len)
 Exclusive sum fallback on SYCL buffer.
 
template<class T >
sham::DeviceBuffer< T > shamalgs::numeric::details::exclusive_sum_fallback_usm (const sham::DeviceScheduler_ptr &sched, sham::DeviceBuffer< T > &buf1, u32 len)
 Exclusive sum fallback on USM.
 
template<class T >
sycl::buffer< T > shamalgs::numeric::details::inclusive_sum_fallback (sycl::queue &q, sycl::buffer< T > &buf1, u32 len)
 
template<class T >
void shamalgs::numeric::details::exclusive_sum_in_place_fallback (sycl::queue &q, sycl::buffer< T > &buf, u32 len)
 
template<class T >
void shamalgs::numeric::details::inclusive_sum_in_place_fallback (sycl::queue &q, sycl::buffer< T > &buf, u32 len)
 
std::tuple< std::optional< sycl::buffer< u32 > >, u32shamalgs::numeric::details::stream_compact_fallback (sycl::queue &q, sycl::buffer< u32 > &buf_flags, u32 len)
 Stream compaction algorithm on fallback.
 
sham::DeviceBuffer< u32shamalgs::numeric::details::stream_compact_fallback (const sham::DeviceScheduler_ptr &sched, sham::DeviceBuffer< u32 > &buf_flags, u32 len)
 Stream compaction algorithm.
 

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

Function Documentation

◆ exclusive_sum_fallback()

template<class T >
sycl::buffer< T > shamalgs::numeric::details::exclusive_sum_fallback ( sycl::queue &  q,
sycl::buffer< T > &  buf1,
u32  len 
)

Exclusive sum fallback on SYCL buffer.

Parameters
qThe queue to use for the fallback
buf1The buffer to sum
lenThe length of the sum
Returns
A new buffer which is the output of the sum

Definition at line 26 of file numericFallback.cpp.

+ Here is the call graph for this function:

◆ exclusive_sum_fallback_usm()

template<class T >
sham::DeviceBuffer< T > shamalgs::numeric::details::exclusive_sum_fallback_usm ( const sham::DeviceScheduler_ptr &  sched,
sham::DeviceBuffer< T > &  buf1,
u32  len 
)

Exclusive sum fallback on USM.

Parameters
schedThe scheduler for this fallback
buf1The buffer to sum
lenThe length of the sum
Returns
A new buffer which is the output of the sum

Definition at line 47 of file numericFallback.cpp.

+ Here is the call graph for this function:

◆ exclusive_sum_in_place_fallback()

template<class T >
void shamalgs::numeric::details::exclusive_sum_in_place_fallback ( sycl::queue &  q,
sycl::buffer< T > &  buf,
u32  len 
)

Definition at line 83 of file numericFallback.cpp.

◆ inclusive_sum_fallback()

template<class T >
sycl::buffer< T > shamalgs::numeric::details::inclusive_sum_fallback ( sycl::queue &  q,
sycl::buffer< T > &  buf1,
u32  len 
)

Definition at line 62 of file numericFallback.cpp.

◆ inclusive_sum_in_place_fallback()

template<class T >
void shamalgs::numeric::details::inclusive_sum_in_place_fallback ( sycl::queue &  q,
sycl::buffer< T > &  buf,
u32  len 
)

Definition at line 102 of file numericFallback.cpp.

◆ stream_compact_fallback() [1/2]

sham::DeviceBuffer< u32 > shamalgs::numeric::details::stream_compact_fallback ( const sham::DeviceScheduler_ptr &  sched,
sham::DeviceBuffer< u32 > &  buf_flags,
u32  len 
)

Stream compaction algorithm.

Parameters
schedthe scheduler to run on
buf_flagsbuffer of only 0 and ones
lenthe length of the buffer considered
Returns
sham::DeviceBuffer<u32> table of the index to extract

Definition at line 153 of file numericFallback.cpp.

+ Here is the call graph for this function:

◆ stream_compact_fallback() [2/2]

std::tuple< std::optional< sycl::buffer< u32 > >, u32 > shamalgs::numeric::details::stream_compact_fallback ( sycl::queue &  q,
sycl::buffer< u32 > &  buf_flags,
u32  len 
)

Stream compaction algorithm on fallback.

Parameters
qthe queue to run on
buf_flagsbuffer of only 0 and ones
lenthe length of the buffer considered
Returns
std::tuple<std::optional<sycl::buffer<u32>>, u32> table of the index to extract and the length of it

Definition at line 130 of file numericFallback.cpp.

+ Here is the call graph for this function: