Shamrock 2025.10.0
Astrophysical Code
Loading...
Searching...
No Matches
streamCompactExclScan.cpp File Reference
Include dependency graph for streamCompactExclScan.cpp:

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.cpp.

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: