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

A data subset represent the unique entity representing a distributed dataset inside a single subregion. More...

#include <idistributed_data_subset.h>

Inherits mi::base::Interface_declare< 0x3fbeb822, ... >.

Public Member Functions

virtual bool is_valid () const =0
 Verifying the integrity of a data subset descriptor for the use by NVIDIA IndeX. More...
 
virtual bool finalize ()=0
 Finalize the given subset's data representation. More...
 

Detailed Description

A data subset represent the unique entity representing a distributed dataset inside a single subregion.

The NVIDIA IndeX system decomposes space (including the scene) into disjoint subregions. These subregions contain smaller-sized portions of an entire large-scale dataset;
these portions are called data subsets in NVIDIA IndeX and represented by the IDistributed_data_subset interface.

A data subset represents the major building-blocks for distributed rendering of large-scale data in NVIDIA IndeX but also for applying all kinds of processing and analysis operations. The derived distributed dataset type specific interfaces such as the ISparse_volume_subset expose interface methods for querying the internal data representation and for manipulating the internal data representation. Typically, the data representation is hosted in both the main memory but, more importantly, also in the CUDA device memory for fast rendering and processing. Whenever possible, the specific data subset representations are always
supposed to provide interfaces for direct CUDA device memory access to the subset data (see IIrregular_volume_subset). Such direct access to the CUDA device representations enables application-side CUDA-based processing of subset data or instant data updates, e.g., using NVIDIA's GPUDirect Storage or GPUDirect RDMA.

NVIDIA IndeX's distributed data import infrastructure relies on the subregion and dat subset concept. An importer callback (see IDistributed_data_import_callback) receives an instance of a IData_subset_factory interface implementation to enables an application to create a empty data subset and is then responsible for generating the desired valid contents of a data subset.

Member Function Documentation

 finalize()

virtual bool nv::index::IDistributed_data_subset::finalize ( )
pure virtual

Finalize the given subset's data representation.

When called this method submits the data subset to the NVIDIA IndeX system and finalizes the data representation of the subset, which may include the generation of internal data structures for fast data access and rendering. Usually NVIDIA IndeX also tries to repair the integrity of the subset data, e.g., an unstructured mesh might require additional treatment and cleanups. The finalize method may only be called once. Once called successfully, the data subset is locked for use by NVIDIA IndeX. In particular, the application may not invoke any of the non-const methods of the data subset interface class anymore.

Returns
Returns true if the finalization was successful, i.e., the integrity of the data subset has been verified and all internal data structures built successfully. If false is returned, then the finalize was obviously not successful and the NVIDIA IndeX cannot operate with the set up data subset representation.

 is_valid()

virtual bool nv::index::IDistributed_data_subset::is_valid ( ) const
pure virtual

Verifying the integrity of a data subset descriptor for the use by NVIDIA IndeX.

If the data subset descriptor is in a valid state, then the provided data is sufficient for NVIDIA IndeX to create an
internal data representation for a subset.

The application, e.g., an importer, can verify whether the dataset is valid using this method anytime. In particular, the call is independent from calling finalize(). That is, the application can continue to modify the dataset before calling finalize().

Returns
Returns true if the data subset is ready for use by NVIDIA IndeX. Even if the subset is already in a valid state an application can continue to extend the subsets data contents. If the provided data is insufficient for NVIDIA IndeX to produce a valid data representation for the subset, then false is returned.

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