Receives user-implemented compute tasks and applies them to distributed data subsets. More...
#include <idistributed_data_edit.h>
Inherits mi::base::Interface_declare< 0x27ff87c3, ... >.
Public Member Functions | |
virtual void | execute_compute_task (const IData_subset_processing_task *compute_task, mi::neuraylib::IDice_transaction *dice_transaction) const =0 |
Applies the passed user-implemented compute task to a subset of the distribute dataset. More... | |
Receives user-implemented compute tasks and applies them to distributed data subsets.
The IData_subset_compute_task_processing
interface class receives an user-implemented compute tasks through execute_compute_task() method and schedules its execution against a distributed data subset. Internally, the NVIDIA IndeX system makes the subset data resources available and invokes the the compute task's compute callback for processing it. Once the compute task finished the
distributed datatype specific operations, it typically signals the NVIDIA IndeX system if modifications have been applied to the subset data. If
modifications occurred then the NVIDIA IndeX system update the internal structures and resources accordingly.
The an instance of a IData_subset_compute_task_processing
implementation is typically exposed through the IDistributed_data_job
interface. Implemented distributed data job run against an distributed dataset that is uploaded to the GPU cluster. The job spans a thread or execution for each data subset of the dataset. Here, the subset data is either stored locally and is then processed by the method IDistributed_data_job::execute_subset
or stored on a remote cluster machine and is then processed by the method IDistributed_data_job::execute_subset_remote
. With either method, the job exposes an IData_subset_compute_task_processing
interface so that an application can apply its specific IData_subset_processing_task
implementation.
IData_subset_compute_task_processing
will be extended in the future to provide additional information besides the ability to invoke user-implemented compute tasks.
|
pure virtual |
Applies the passed user-implemented compute task to a subset of the distribute dataset.
The execution will make the subset data available and invoke the methods of the compute task using the subset data representation as input parameter.
[in] | compute_task | The compute task performs the editing operation and can be any user-defined technique or algorithm. |
[in] | dice_transaction | The DiCE transaction used for the operation. |