'Split `data_batch` according to workload and run forward on each devices.
Parameters
data_batch : DataBatch
Or could be any object implementing similar interface.
is_train : bool
The hint for the backend, indicating whether we are during training phase.
Default is `None`, then the value `self.for_training` will be used.
Returns'

def forward(self, data_batch, is_train=None):

    _load_data(data_batch, self.data_arrays, self.data_layouts)
    if (is_train is None):
        is_train = self.for_training
    if ((self.label_arrays is not None) and data_batch.label):
        _load_label(data_batch, self.label_arrays, self.label_layouts)
    for exec_ in self.execs:
        exec_.forward(is_train=is_train)
