Domain specific subdivision and data distribution. More...
#include <iaffinity_information.h>
Inherits mi::base::Interface_declare< 0x1fefb212, ... >.
Public Member Functions | |
virtual mi::Uint32 | get_nb_subregions () const =0 |
Provides the number of spatial regions that span the application's decomposition scheme. More... | |
virtual mi::math::Bbox_struct< mi::Float32, 3 > | get_subregion (mi::Uint32 index) const =0 |
Provides each spatial regions according to on the given index. More... | |
Domain specific subdivision and data distribution.
Compute algorithms usually define their own domain-specific spatial subdivision and data distribution schemes to efficiently run, for instance, compute algorithms. In general, NVIDIA IndeX applies an internal sort-last approach that subdivides space into an spatial decomposition that is optimal for rendering. The present interface class allows to adjust the internal subdivision scheme in such a way that an external decomposition scheme is covered by NVIDIA IndeX's internal representation.
The application-domain is expected to generate 3D spatial regions. These regions are supposed to be disjoint. In case of an hierarchical decomposition scheme, such as a kd-tree based spatial decomposition, these regions typically represent the leaf nodes of the tree. The interface class shall provide the regions as 3D bounding boxes so that NVIDIA IndeX can align its internal representation.
This interface class also extents the affinity class that is the application is also able to direct the NVIDIA IndeX's spatial regions to machines and GPUs in the cluster where application/algorithm data is already stored.
|
pure virtual |
Provides the number of spatial regions that span the application's decomposition scheme.
NVIDIA IndeX requires the number of regions to iterate through them using get_subregion()
.
|
pure virtual |
Provides each spatial regions according to on the given index.
Each regions is shall be represented as a bounding box. NVIDIA IndeX aligns its internal spatial subdivision scheme to the application-supplied bounding box to cover the entire space.
[in] | index | An index that allows accessing the application-supplied spatial areas. The index must be in the range [0,get_nb_subregions() ]. |