Shamrock 2025.10.0
Astrophysical Code
Loading...
Searching...
No Matches
Functions
karras_alg.hpp File Reference
#include "shambackends/sycl.hpp"
#include <memory>
+ Include dependency graph for karras_alg.hpp:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

template<class u_morton >
void sycl_karras_alg (sycl::queue &queue, u32 internal_cell_count, sycl::buffer< u_morton > &in_morton, sycl::buffer< u32 > &out_buf_lchild_id, sycl::buffer< u32 > &out_buf_rchild_id, sycl::buffer< u8 > &out_buf_lchild_flag, sycl::buffer< u8 > &out_buf_rchild_flag, sycl::buffer< u32 > &out_buf_endrange)
 Karras 2012 algorithm with addition endrange buffer.
 

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

Function Documentation

◆ sycl_karras_alg()

template<class u_morton >
void sycl_karras_alg ( sycl::queue &  queue,
u32  internal_cell_count,
sycl::buffer< u_morton > &  in_morton,
sycl::buffer< u32 > &  out_buf_lchild_id,
sycl::buffer< u32 > &  out_buf_rchild_id,
sycl::buffer< u8 > &  out_buf_lchild_flag,
sycl::buffer< u8 > &  out_buf_rchild_flag,
sycl::buffer< u32 > &  out_buf_endrange 
)

Karras 2012 algorithm with addition endrange buffer.

Given a list of morton codes, compute the left and right child id, left and right child flag, and the endrange for each cell using the Karras 2012 algorithm.

Parameters
[in]queuesycl queue
[in]internal_cell_countnumber of internal cells
[in]in_mortoninput morton codes
[out]out_buf_lchild_idleft child id
[out]out_buf_rchild_idright child id
[out]out_buf_lchild_flagleft child flag
[out]out_buf_rchild_flagright child flag
[out]out_buf_endrangeendrange