48template<
class u_morton>
53 std::unique_ptr<sycl::buffer<u_morton>> &buf_morton,
56 std::unique_ptr<sycl::buffer<u32>> &buf_reduc_index_map,
57 u32 &morton_leaf_count);
76template<
class u_morton>
80 u32 morton_leaf_count,
81 std::unique_ptr<sycl::buffer<u32>> &buf_reduc_index_map,
82 std::unique_ptr<sycl::buffer<u_morton>> &buf_morton,
84 std::unique_ptr<sycl::buffer<u_morton>> &buf_leaf_morton);
95template<
class split_
int>
98 u32 morton_leaf_count;
127template<
class u_morton>
129 const sham::DeviceScheduler_ptr &dev_sched,
132 u32 reduction_level);
151template<
class u_morton>
155 u32 morton_leaf_count,
std::uint32_t u32
32 bit unsigned integer
A buffer allocated in USM (Unified Shared Memory)
A SYCL queue associated with a device and a context.
void sycl_morton_remap_reduction(sycl::queue &queue, u32 morton_leaf_count, std::unique_ptr< sycl::buffer< u32 > > &buf_reduc_index_map, std::unique_ptr< sycl::buffer< u_morton > > &buf_morton, std::unique_ptr< sycl::buffer< u_morton > > &buf_leaf_morton)
Remaps a Morton tree on device using a reduction index map.
void reduction_alg(sycl::queue &queue, u32 morton_count, std::unique_ptr< sycl::buffer< u_morton > > &buf_morton, u32 reduction_level, std::unique_ptr< sycl::buffer< u32 > > &buf_reduc_index_map, u32 &morton_leaf_count)
Reduces a Morton tree on device.
Return type of reduction algorithms.