Shamrock 2025.10.0
Astrophysical Code
Loading...
Searching...
No Matches
shamtree::impl Namespace Reference

namespace to control implementation behavior More...

Classes

struct  Reference
 Naive reference CPU implementation of the dual tree traversal. More...
struct  ParallelSelect
 Parallel-select implementation of the dual tree traversal. More...
struct  ScanMultipass
 Scan-multipass implementation of the dual tree traversal. More...

Functions

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.
bool is_impl_set_clbvh_dual_tree_traversal ()
 Check if an implementation has been selected 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.
void autoselect_impl_clbvh_dual_tree_traversal (const sham::DeviceScheduler_ptr &dev_sched)
 Select the default implementation for dual tree traversal.

Variables

shamalgs::ImplVariantGlobal< Reference, ParallelSelect, ScanMultipass > dtt_impl
 Currently selected dual tree traversal implementation.

Detailed Description

namespace to control implementation behavior

Function Documentation

◆ autoselect_impl_clbvh_dual_tree_traversal()

void shamtree::impl::autoselect_impl_clbvh_dual_tree_traversal ( const sham::DeviceScheduler_ptr & dev_sched)

Select the default implementation for dual tree traversal.

Definition at line 69 of file CLBVHDualTreeTraversal.cpp.

Here is the call graph for this function:

◆ get_current_impl_clbvh_dual_tree_traversal_impl()

std::string shamtree::impl::get_current_impl_clbvh_dual_tree_traversal_impl ( )

Get the current implementation for dual tree traversal, as a config json string.

Get the current implementation for dual tree traversal.

Definition at line 55 of file CLBVHDualTreeTraversal.cpp.

◆ get_default_impl_list_clbvh_dual_tree_traversal()

std::vector< std::string > shamtree::impl::get_default_impl_list_clbvh_dual_tree_traversal ( )

Get list of available dual tree traversal implementations, as config json strings.

Get list of available dual tree traversal implementations.

Definition at line 50 of file CLBVHDualTreeTraversal.cpp.

◆ is_impl_set_clbvh_dual_tree_traversal()

bool shamtree::impl::is_impl_set_clbvh_dual_tree_traversal ( )

Check if an implementation has been selected for dual tree traversal.

Definition at line 60 of file CLBVHDualTreeTraversal.cpp.

◆ set_impl_clbvh_dual_tree_traversal()

void shamtree::impl::set_impl_clbvh_dual_tree_traversal ( const std::string & impl)

Set the implementation for dual tree traversal, from a config json string.

Set the implementation for dual tree traversal.

Definition at line 63 of file CLBVHDualTreeTraversal.cpp.

Variable Documentation

◆ dtt_impl

Initial value:
{
[](const sham::DeviceScheduler_ptr &, auto &self) {
self.set(ScanMultipass{});
}}
Scan-multipass implementation of the dual tree traversal.

Currently selected dual tree traversal implementation.

Definition at line 44 of file CLBVHDualTreeTraversal.cpp.