Base interface for distributed datatype specific subset data processing. More...
#include <idistributed_data_edit.h>
Inherits mi::base::Interface_declare< 0x4b47717d, ... >.
Base interface for distributed datatype specific subset data processing.
The interface class IData_subset_processing_task
serves as a base class for distributed datatype specific interfaces such as ISparse_volume_compute_task
or IIrregular_volume_compute_task
, which operate on sparse volume or irregular volume data subsets.
An instance of derived classes can be passed to the interface class IData_subset_compute_task_processing
using the interface method IData_subset_compute_task_processing::execute_compute_task()
. Once passed the compute task's implementation is executed on a per-subset data granularity. In general, a IData_subset_processing_task
can be considered a SIMD (single instruction, multiple data) operation exploiting data subset parallism. That is, the actual implementation of a derived class can be applied to each an every subset of a distributed dataset in parallel and in that way resembles the execution of CUDA kernels. Depending on whether a subset data representation (see IDistributed_data_subset
) exposes the repective interface methods, CUDA-based and/or CPU-based programming can be used.
Common applications that can be implemented using the IData_subset_processing_task
include the in-situ and in-transit algorithms that combine data simulation and data visualization or parallel data analysis tasks such as the generation of volume histogram.