From eb8f71eecbc44e64cd7814f53b27b42c43dd660b Mon Sep 17 00:00:00 2001 From: Joel Liang Date: Wed, 27 Dec 2017 13:16:00 +0800 Subject: APPBROWSER-230, APPBROWSER-300: Rename GCScheduler enqueue to dispatch, sync to memory_barrier Also fix the synchronisation issues between different kernels. Change-Id: Ib59d83ae8d5cc8b0bdf13e6f4958edccdab91ca4 Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/114594 Reviewed-by: Anthony Barbier Tested-by: Jenkins --- .../GLES_COMPUTE/functions/GCFullyConnectedLayer.cpp | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) (limited to 'src/runtime/GLES_COMPUTE/functions/GCFullyConnectedLayer.cpp') diff --git a/src/runtime/GLES_COMPUTE/functions/GCFullyConnectedLayer.cpp b/src/runtime/GLES_COMPUTE/functions/GCFullyConnectedLayer.cpp index 63cb40e616..041622d255 100644 --- a/src/runtime/GLES_COMPUTE/functions/GCFullyConnectedLayer.cpp +++ b/src/runtime/GLES_COMPUTE/functions/GCFullyConnectedLayer.cpp @@ -159,19 +159,22 @@ void GCFullyConnectedLayer::run() // Linearize input if it comes from a convolutional layer if(_is_fc_after_conv) { - GCScheduler::get().enqueue(_im2col_kernel, false); + GCScheduler::get().dispatch(_im2col_kernel, false); } - GCScheduler::get().sync(); + if(!_are_weights_reshaped || _is_fc_after_conv) + { + GCScheduler::get().memory_barrier(); + } // Run matrix multiply - GCScheduler::get().enqueue(_mm_kernel, !_accumulate_biases); + GCScheduler::get().dispatch(_mm_kernel, !_accumulate_biases); // Accumulate biases if provided if(_accumulate_biases) { - GCScheduler::get().sync(); + GCScheduler::get().memory_barrier(); - GCScheduler::get().enqueue(_accumulate_biases_kernel); + GCScheduler::get().dispatch(_accumulate_biases_kernel); } } -- cgit v1.2.1