diff options
author | Isabella Gottardi <isabella.gottardi@arm.com> | 2018-02-12 14:59:19 +0000 |
---|---|---|
committer | Anthony Barbier <anthony.barbier@arm.com> | 2018-11-02 16:49:16 +0000 |
commit | 3f217ec4ff11e20fe686beb9a28d0bbd80a56cd6 (patch) | |
tree | 81db8baab925af5b416b66d0328be2eb49543824 /src/runtime/GLES_COMPUTE/functions/GCDirectConvolutionLayer.cpp | |
parent | d9eb27597eabe5b7c17520f4f9b3f8a282d72573 (diff) | |
download | ComputeLibrary-3f217ec4ff11e20fe686beb9a28d0bbd80a56cd6.tar.gz |
COMPMID-908 - Merge Activation layer with Convolution Layer (NEON. CL, GLES)
Change-Id: Iab06d0768ecf805b841e601185608aae88cf9166
Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/120874
Tested-by: Jenkins <bsgcomp@arm.com>
Reviewed-by: Anthony Barbier <anthony.barbier@arm.com>
Diffstat (limited to 'src/runtime/GLES_COMPUTE/functions/GCDirectConvolutionLayer.cpp')
-rw-r--r-- | src/runtime/GLES_COMPUTE/functions/GCDirectConvolutionLayer.cpp | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/src/runtime/GLES_COMPUTE/functions/GCDirectConvolutionLayer.cpp b/src/runtime/GLES_COMPUTE/functions/GCDirectConvolutionLayer.cpp index a2607d4c2d..c0cf09836f 100644 --- a/src/runtime/GLES_COMPUTE/functions/GCDirectConvolutionLayer.cpp +++ b/src/runtime/GLES_COMPUTE/functions/GCDirectConvolutionLayer.cpp @@ -39,26 +39,27 @@ GCDirectConvolutionLayer::GCDirectConvolutionLayer() { } -void GCDirectConvolutionLayer::configure(IGCTensor *input, const IGCTensor *weights, const IGCTensor *biases, IGCTensor *output, const PadStrideInfo &conv_info) +void GCDirectConvolutionLayer::configure(IGCTensor *input, const IGCTensor *weights, const IGCTensor *biases, IGCTensor *output, const PadStrideInfo &conv_info, + const ActivationLayerInfo &act_info) { int kernel_size = weights->info()->dimension(0); if(kernel_size == 1) { auto k = arm_compute::support::cpp14::make_unique<GCDirectConvolutionLayer1x1Kernel>(); - k->configure(input, weights, biases, output, conv_info); + k->configure(input, weights, biases, output, conv_info, act_info); _kernel = std::move(k); } else if(kernel_size == 3) { auto k = arm_compute::support::cpp14::make_unique<GCDirectConvolutionLayer3x3Kernel>(); - k->configure(input, weights, biases, output, conv_info); + k->configure(input, weights, biases, output, conv_info, act_info); _kernel = std::move(k); } else if(kernel_size == 5) { auto k = arm_compute::support::cpp14::make_unique<GCDirectConvolutionLayer5x5Kernel>(); - k->configure(input, weights, biases, output, conv_info); + k->configure(input, weights, biases, output, conv_info, act_info); _kernel = std::move(k); } else @@ -79,4 +80,6 @@ void GCDirectConvolutionLayer::run() GCScheduler::get().dispatch(_border_handler, false); GCScheduler::get().memory_barrier(); GCScheduler::get().dispatch(*_kernel); + GCScheduler::get().memory_barrier(); + GCScheduler::get().dispatch(_shift_handler); } |