diff options
author | Georgios Pinitas <georgios.pinitas@arm.com> | 2020-07-31 22:21:38 +0100 |
---|---|---|
committer | Michalis Spyrou <michalis.spyrou@arm.com> | 2020-08-05 09:13:13 +0000 |
commit | 0499dff9293a86d3d53f72fed0a38b2823563674 (patch) | |
tree | bb76735e53f46cc8e362a7b528e549cdc7a2e346 /src/runtime/CPP/CPPScheduler.cpp | |
parent | ac4c03042d7a3020f87cea641e69aa38a684ddd7 (diff) | |
download | ComputeLibrary-0499dff9293a86d3d53f72fed0a38b2823563674.tar.gz |
COMPMID-3392: Collapse TensorMaps into a single TensorPack
Collapse InputTensorMap and OutputTensorMap to a single TensorPack
mechanism.
Signed-off-by: Georgios Pinitas <georgios.pinitas@arm.com>
Change-Id: Ie2fdfc6b07d84ad589169ec99ca64fcf45a00bec
Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/c/VisualCompute/ComputeLibrary/+/253783
Tested-by: bsgcomp <bsgcomp@arm.com>
Reviewed-by: Michalis Spyrou <michalis.spyrou@arm.com>
Signed-off-by: Michalis Spyrou <michalis.spyrou@arm.com>
Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/3641
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: SiCong Li <sicong.li@arm.com>
Reviewed-by: Sheri Zhang <sheri.zhang@arm.com>
Diffstat (limited to 'src/runtime/CPP/CPPScheduler.cpp')
-rw-r--r-- | src/runtime/CPP/CPPScheduler.cpp | 21 |
1 files changed, 10 insertions, 11 deletions
diff --git a/src/runtime/CPP/CPPScheduler.cpp b/src/runtime/CPP/CPPScheduler.cpp index b07aa8ce18..55f62c1387 100644 --- a/src/runtime/CPP/CPPScheduler.cpp +++ b/src/runtime/CPP/CPPScheduler.cpp @@ -405,7 +405,7 @@ void CPPScheduler::run_workloads(std::vector<IScheduler::Workload> &workloads) } #endif /* DOXYGEN_SKIP_THIS */ -void CPPScheduler::schedule_common(ICPPKernel *kernel, const Hints &hints, const InputTensorMap &inputs, const OutputTensorMap &outputs) +void CPPScheduler::schedule_common(ICPPKernel *kernel, const Hints &hints, ITensorPack &tensors) { ARM_COMPUTE_ERROR_ON_MSG(!kernel, "The child class didn't set the kernel"); @@ -464,13 +464,13 @@ void CPPScheduler::schedule_common(ICPPKernel *kernel, const Hints &hints, const { ThreadInfo info; info.cpu_info = &_cpu_info; - if(inputs.empty()) + if(tensors.empty()) { kernel->run(max_window, info); } else { - kernel->run_op(inputs, outputs, max_window, info); + kernel->run_op(tensors, max_window, info); } } else @@ -495,18 +495,18 @@ void CPPScheduler::schedule_common(ICPPKernel *kernel, const Hints &hints, const for(unsigned int t = 0; t < num_windows; t++) { //Capture 't' by copy, all the other variables by reference: - workloads[t] = [t, &hints, &max_window, &num_windows, &kernel, &inputs, &outputs](const ThreadInfo & info) + workloads[t] = [t, &hints, &max_window, &num_windows, &kernel, &tensors](const ThreadInfo & info) { Window win = max_window.split_window(hints.split_dimension(), t, num_windows); win.validate(); - if(inputs.empty()) + if(tensors.empty()) { kernel->run(win, info); } else { - kernel->run_op(inputs, outputs, win, info); + kernel->run_op(tensors, win, info); } }; } @@ -515,15 +515,14 @@ void CPPScheduler::schedule_common(ICPPKernel *kernel, const Hints &hints, const } } -void CPPScheduler::schedule_op(ICPPKernel *kernel, const Hints &hints, const InputTensorMap &inputs, const OutputTensorMap &outputs) +void CPPScheduler::schedule_op(ICPPKernel *kernel, const Hints &hints, ITensorPack &tensors) { - schedule_common(kernel, hints, inputs, outputs); + schedule_common(kernel, hints, tensors); } void CPPScheduler::schedule(ICPPKernel *kernel, const Hints &hints) { - const InputTensorMap inputs; - OutputTensorMap outputs; - schedule_common(kernel, hints, inputs, outputs); + ITensorPack tensors; + schedule_common(kernel, hints, tensors); } } // namespace arm_compute |