Shamrock 2025.10.0
Astrophysical Code
Loading...
Searching...
No Matches
Namespaces | Functions
streamCompactExclScan.hpp File Reference
#include "shambackends/DeviceBuffer.hpp"
#include "shambackends/sycl.hpp"
+ Include dependency graph for streamCompactExclScan.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

std::tuple< std::optional< sycl::buffer< u32 > >, u32shamalgs::numeric::details::stream_compact_excl_scan (sycl::queue &q, sycl::buffer< u32 > &buf_flags, u32 len)
 Stream compaction algorithm using exclusive summation.
 
sham::DeviceBuffer< u32shamalgs::numeric::details::stream_compact_excl_scan (const sham::DeviceScheduler_ptr &sched, sham::DeviceBuffer< u32 > &buf_flags, u32 len)
 Performs stream compaction using exclusive scan on a device.
 

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

Function Documentation

◆ stream_compact_excl_scan() [1/2]

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

Performs stream compaction using exclusive scan on a device.

Parameters
schedDevice scheduler that manages the computation queue.
buf_flagsBuffer containing flags (0s and 1s) indicating elements to keep.
lenLength of the buffer, representing the number of elements to process.
Returns
A DeviceBuffer containing the indices of the elements to keep.

Definition at line 96 of file streamCompactExclScan.cpp.

+ Here is the call graph for this function:

◆ stream_compact_excl_scan() [2/2]

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

Stream compaction algorithm using exclusive summation.

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

Definition at line 30 of file streamCompactExclScan.cpp.

+ Here is the call graph for this function: