NVIDIA IndeX API nvidia_logo_transpbg.gif Up
nv::index::IDomain_specific_subdivision Class Referenceabstract

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

Detailed Description

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.

Note
This feature is in an experimental state. Decent testing is required and interfaces might change in the future.

Member Function Documentation

 get_nb_subregions()

virtual mi::Uint32 nv::index::IDomain_specific_subdivision::get_nb_subregions ( ) const
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().

Returns
The number of the domain-specific spatial regions.

 get_subregion()

virtual mi::math::Bbox_struct< mi::Float32, 3 > nv::index::IDomain_specific_subdivision::get_subregion ( mi::Uint32  index) const
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.

Parameters
[in]indexAn index that allows accessing the application-supplied spatial areas. The index must be in the range [0,get_nb_subregions()].
Returns
Returns the spatial regions as bounding box.

The documentation for this class was generated from the following file: