Shamrock 2025.10.0
Astrophysical Code
Loading...
Searching...
No Matches
numeric.cpp File Reference
Include dependency graph for numeric.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

template<class T>
sycl::buffer< T > shamalgs::numeric::scan_exclusive (sycl::queue &q, sycl::buffer< T > &buf1, u32 len)
 Computes the exclusive sum of elements in a SYCL buffer.
template<class T>
sham::DeviceBuffer< T > shamalgs::numeric::scan_exclusive (sham::DeviceScheduler_ptr sched, sham::DeviceBuffer< T > &buf1, u32 len)
 Compute the exclusive sum of a buffer on the device.
template<class T>
sycl::buffer< T > shamalgs::numeric::scan_inclusive (sycl::queue &q, sycl::buffer< T > &buf1, u32 len)
template<class T>
void shamalgs::numeric::scan_exclusive_in_place (sycl::queue &q, sycl::buffer< T > &buf, u32 len)
template<class T>
void shamalgs::numeric::scan_inclusive_in_place (sycl::queue &q, sycl::buffer< T > &buf, u32 len)
template sycl::buffer< u32shamalgs::numeric::scan_exclusive (sycl::queue &q, sycl::buffer< u32 > &buf1, u32 len)
template sham::DeviceBuffer< u32shamalgs::numeric::scan_exclusive (sham::DeviceScheduler_ptr sched, sham::DeviceBuffer< u32 > &buf1, u32 len)
template sycl::buffer< u32shamalgs::numeric::scan_inclusive (sycl::queue &q, sycl::buffer< u32 > &buf1, u32 len)
template void shamalgs::numeric::scan_exclusive_in_place (sycl::queue &q, sycl::buffer< u32 > &buf1, u32 len)
template void shamalgs::numeric::scan_inclusive_in_place (sycl::queue &q, sycl::buffer< u32 > &buf1, u32 len)
std::tuple< std::optional< sycl::buffer< u32 > >, u32shamalgs::numeric::stream_compact (sycl::queue &q, sycl::buffer< u32 > &buf_flags, u32 len)
 Stream compaction algorithm.
sham::DeviceBuffer< u32shamalgs::numeric::stream_compact (const sham::DeviceScheduler_ptr &sched, sham::DeviceBuffer< u32 > &buf_flags, u32 len)
 Stream compaction algorithm.
template<class Tret, class T>
sham::DeviceBuffer< Tret > shamalgs::numeric::device_histogram (const sham::DeviceScheduler_ptr &sched, const sham::DeviceBuffer< T > &bin_edges, u64 nbins, const sham::DeviceBuffer< T > &values, u32 len)
 Compute the histogram of values between bin_edges.
template sham::DeviceBuffer< u64shamalgs::numeric::device_histogram< u64, f64 > (const sham::DeviceScheduler_ptr &sched, const sham::DeviceBuffer< f64 > &bin_edges, u64 nbins, const sham::DeviceBuffer< f64 > &values, u32 len)
template sham::DeviceBuffer< u64shamalgs::numeric::device_histogram< u64, f32 > (const sham::DeviceScheduler_ptr &sched, const sham::DeviceBuffer< f32 > &bin_edges, u64 nbins, const sham::DeviceBuffer< f32 > &values, u32 len)
template sham::DeviceBuffer< u32shamalgs::numeric::device_histogram< u32, f64 > (const sham::DeviceScheduler_ptr &sched, const sham::DeviceBuffer< f64 > &bin_edges, u64 nbins, const sham::DeviceBuffer< f64 > &values, u32 len)
template sham::DeviceBuffer< u32shamalgs::numeric::device_histogram< u32, f32 > (const sham::DeviceScheduler_ptr &sched, const sham::DeviceBuffer< f32 > &bin_edges, u64 nbins, const sham::DeviceBuffer< f32 > &values, u32 len)
template<class T>
BinnedCompute< T > shamalgs::numeric::binned_init_compute (const sham::DeviceScheduler_ptr &sched, const sham::DeviceBuffer< T > &bin_edges, u64 nbins, const sham::DeviceBuffer< T > &values, const sham::DeviceBuffer< T > &keys, u32 len)
 Prepare binned data for per-bin computation.
template BinnedCompute< f64shamalgs::numeric::binned_init_compute (const sham::DeviceScheduler_ptr &sched, const sham::DeviceBuffer< f64 > &bin_edges, u64 nbins, const sham::DeviceBuffer< f64 > &values, const sham::DeviceBuffer< f64 > &keys, u32 len)
template BinnedCompute< f32shamalgs::numeric::binned_init_compute (const sham::DeviceScheduler_ptr &sched, const sham::DeviceBuffer< f32 > &bin_edges, u64 nbins, const sham::DeviceBuffer< f32 > &values, const sham::DeviceBuffer< f32 > &keys, u32 len)

Detailed Description