7#ifndef NVIDIA_INDEX_IDATA_DISTRIBUTION_H
8#define NVIDIA_INDEX_IDATA_DISTRIBUTION_H
11#include <mi/base/interface_declare.h>
12#include <mi/neuraylib/iserializer.h>
49 public mi::base::Interface_declare<0x841224fe,0x3c17,0x43b3,0xaa,0xc8,0xbc,0x32,0x72,0xc8,0x44,0xf1,
50 mi::neuraylib::ISerializable>
117 mi::neuraylib::IDice_transaction* dice_transaction,
120 mi::Size data_subset_index,
121 mi::Size data_subset_count) = 0;
159 mi::neuraylib::ISerializer* serializer,
160 mi::neuraylib::IDice_transaction* dice_transaction,
163 mi::Size data_subset_index,
164 mi::Size data_subset_count) = 0;
194 mi::neuraylib::IDeserializer* deserializer,
195 mi::neuraylib::IDice_transaction* dice_transaction,
197 mi::Size data_subset_index,
198 mi::Size data_subset_count) = 0;
209template <mi::Uint32 id1, mi::Uint16 id2, mi::Uint16 id3,
210 mi::Uint8 id4, mi::Uint8 id5, mi::Uint8 id6, mi::Uint8 id7,
211 mi::Uint8 id8, mi::Uint8 id9, mi::Uint8 id10, mi::Uint8 id11,
213class Distributed_data_job :
public mi::neuraylib::Base<id1, id2, id3, id4, id5, id6, id7, id8, id9, id10, id11, I>
225 (void)determined_locality;
247 public mi::base::Interface_declare<0x91224ed0,0x6e2a,0x48c9,0xb1,0x79,0x61,0x8e,0x22,0xd2,0x5e,0xf2,
248 mi::base::IInterface>
260 mi::neuraylib::IDice_transaction* dice_transaction)
const = 0;
Mixin class that implements the mi::neuraylib::Distributed_data_job interface.
Definition: idata_distribution.h:214
virtual void receive_data_locality(IDistributed_data_locality *determined_locality)
Receiving a distributed data locality from the NVIDIA IndeX job scheduler.
Definition: idata_distribution.h:222
Retrieving information about the data distribution and scheduling tasks against distributed data.
Definition: idistributed_data_locality.h:694
Receives user-implemented compute tasks and applies them to distributed data subsets.
Definition: idistributed_data_edit.h:82
Scheduling and launching distributed data analysis and processing jobs.
Definition: idata_distribution.h:249
virtual mi::Sint32 execute(IDistributed_data_job *job, mi::neuraylib::IDice_transaction *dice_transaction) const =0
Launching the user-implemented distributed data job.
Distributed job interface enabling analysis and processing running against distributed subset data.
Definition: idata_distribution.h:51
virtual IDistributed_data_locality_query_mode * get_scheduling_mode() const =0
A data locality query mode specifies which data subsets to process.
virtual void execute_subset(mi::neuraylib::IDice_transaction *dice_transaction, const nv::index::IData_distribution *data_distribution, nv::index::IData_subset_compute_task_processing *data_subset_processing, mi::Size data_subset_index, mi::Size data_subset_count)=0
Local execution of the distributed data job for a processing a data subset.
virtual void receive_data_locality(IDistributed_data_locality *determined_locality)=0
Receiving a distributed data locality from the NVIDIA IndeX system.
virtual void execute_subset_remote(mi::neuraylib::ISerializer *serializer, mi::neuraylib::IDice_transaction *dice_transaction, const nv::index::IData_distribution *data_distribution, nv::index::IData_subset_compute_task_processing *data_subset_processing, mi::Size data_subset_index, mi::Size data_subset_count)=0
Remote execution of the distributed data job for a processing a data subset.
virtual void receive_subset_result(mi::neuraylib::IDeserializer *deserializer, mi::neuraylib::IDice_transaction *dice_transaction, const nv::index::IData_distribution *data_distribution, mi::Size data_subset_index, mi::Size data_subset_count)=0
Receives the result of a remote distributed data job execution.
Query modes enable the purposeful selection of data subsets for data localities.
Definition: idistributed_data_locality.h:61
Data locality information for distributed datasets.
Definition: idistributed_data_locality.h:518
Interfaces for distributed data processing.
Interfaces for exposing the data distribution scheme.
Common namespace for all NVIDIA APIs.
Definition: iindex.h:349