41 std::optional<OrderedResult> ordered_result;
43 bool is_ordered()
const {
return ordered_result.has_value(); }
57 template<
class Tmorton,
class Tvec, u32 dim>
58 DTTResult clbvh_dual_tree_traversal(
59 sham::DeviceScheduler_ptr dev_sched,
60 const CompressedLeafBVH<Tmorton, Tvec, dim> &bvh,
61 shambase::VecComponent<Tvec> theta_crit,
62 bool ordered_result =
false,
63 bool allow_leaf_lowering =
false);
A buffer allocated in USM (Unified Shared Memory).
namespace to control implementation behavior
bool is_impl_set_clbvh_dual_tree_traversal()
Check if an implementation has been selected for dual tree traversal.
void autoselect_impl_clbvh_dual_tree_traversal(const sham::DeviceScheduler_ptr &dev_sched)
Select the default implementation for dual tree traversal.
void set_impl_clbvh_dual_tree_traversal(const std::string &impl)
Set the implementation for dual tree traversal, from a config json string.
std::vector< std::string > get_default_impl_list_clbvh_dual_tree_traversal()
Get list of available dual tree traversal implementations, as config json strings.
std::string get_current_impl_clbvh_dual_tree_traversal_impl()
Get the current implementation for dual tree traversal, as a config json string.
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.