39 std::optional<OrderedResult> ordered_result;
41 bool is_ordered()
const {
return ordered_result.has_value(); }
55 template<
class Tmorton,
class Tvec, u32 dim>
56 DTTResult clbvh_dual_tree_traversal(
57 sham::DeviceScheduler_ptr dev_sched,
58 const CompressedLeafBVH<Tmorton, Tvec, dim> &bvh,
59 shambase::VecComponent<Tvec> theta_crit,
60 bool ordered_result =
false,
61 bool allow_leaf_lowering =
false);
74 const std::string &impl,
const std::string ¶m =
"");
A buffer allocated in USM (Unified Shared Memory)
void set_impl_clbvh_dual_tree_traversal(const std::string &impl, const std::string ¶m="")
Set the implementation for dual tree traversal.
shamalgs::impl_param get_current_impl_clbvh_dual_tree_traversal_impl()
Get the current implementation for dual tree traversal.
std::vector< shamalgs::impl_param > get_default_impl_list_clbvh_dual_tree_traversal()
Get list of available dual tree traversal implementations.
Result structure for dual tree traversal operations.
sham::DeviceBuffer< u32_2 > node_interactions_m2l
Pairs of nodes that interact using M2L interactions.
sham::DeviceBuffer< u32_2 > node_interactions_p2p
Pairs of nodes that interact using P2P interactions.