- surf_action_ = surf_host_model->execute_parallel(hosts, flops_amounts.data(), bytes_amounts.data(), -1);
- if (surf_action_ != nullptr) {
- surf_action_->set_data(this);
+ if (hosts_.size() == 1) {
+ surf_action_ = hosts_.front()->pimpl_cpu->execution_start(flops_amounts_.front());
+ surf_action_->set_priority(priority_);
+ surf_action_->set_category(get_tracing_category());
+
+ if (bound_ > 0)
+ surf_action_->set_bound(bound_);
+ } else {
+ surf_action_ = surf_host_model->execute_parallel(hosts_, flops_amounts_.data(), bytes_amounts_.data(), -1);