aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGeorgios Pinitas <georgios.pinitas@arm.com>2018-05-08 18:58:19 +0100
committerAnthony Barbier <anthony.barbier@arm.com>2018-11-02 16:51:17 +0000
commitd8cde8582a2a87959c9ca40fb23cf84328727d06 (patch)
treef332411effa70f094fe8649ea0b767349a0d2457
parentbb36a8efc1092f66798e3b880c55ec488021bb02 (diff)
downloadComputeLibrary-d8cde8582a2a87959c9ca40fb23cf84328727d06.tar.gz
COMPMID-959: Assembly kernel marks weights as unused when pretranspose
Change-Id: I15943c4c97457f4cc9bff3bb1cce8ad9a8d9ed38 Reviewed-on: https://eu-gerrit-1.euhpc.arm.com/130474 Tested-by: Jenkins <bsgcomp@arm.com> Reviewed-by: Anthony Barbier <anthony.barbier@arm.com>
-rw-r--r--arm_compute/graph/backends/ValidateHelpers.h1
-rw-r--r--arm_compute/runtime/NEON/AssemblyHelper.h1
-rw-r--r--src/runtime/NEON/functions/NEGEMMConvolutionLayer.cpp2
3 files changed, 2 insertions, 2 deletions
diff --git a/arm_compute/graph/backends/ValidateHelpers.h b/arm_compute/graph/backends/ValidateHelpers.h
index 68a718ab97..c1b87ee0c0 100644
--- a/arm_compute/graph/backends/ValidateHelpers.h
+++ b/arm_compute/graph/backends/ValidateHelpers.h
@@ -103,7 +103,6 @@ Status validate_convolution_layer(ConvolutionLayerNode &node)
// If validation fails try the Default approach
if(!bool(status) || (conv_algorithm == ConvolutionMethod::DEFAULT))
{
- std::cout << status.error_description() << std::endl;
status = ConvolutionLayer::validate(input, weights, biases, output, conv_info);
if(bool(status))
{
diff --git a/arm_compute/runtime/NEON/AssemblyHelper.h b/arm_compute/runtime/NEON/AssemblyHelper.h
index ee09ef531e..39c20fab00 100644
--- a/arm_compute/runtime/NEON/AssemblyHelper.h
+++ b/arm_compute/runtime/NEON/AssemblyHelper.h
@@ -100,6 +100,7 @@ public:
{
ARM_COMPUTE_ERROR_ON(_pretranspose == nullptr || _pretranspose->buffer() == nullptr);
_gemm_kernel_asm->pretranspose_B_array(reinterpret_cast<void *>(_pretranspose->buffer()), in1_ptr, ldb, multi_stride_b);
+ _b->mark_as_unused();
}
NEScheduler::get().schedule(_optimised_kernel.get(), Window::DimX);
diff --git a/src/runtime/NEON/functions/NEGEMMConvolutionLayer.cpp b/src/runtime/NEON/functions/NEGEMMConvolutionLayer.cpp
index 1ffeaf227d..5a35463365 100644
--- a/src/runtime/NEON/functions/NEGEMMConvolutionLayer.cpp
+++ b/src/runtime/NEON/functions/NEGEMMConvolutionLayer.cpp
@@ -561,7 +561,7 @@ void NEGEMMConvolutionLayer::run()
{
_asm_glue.run();
// Release weights in case buffer is pretransposed
- if(_B_pretransposed.buffer() != nullptr && _weights_reshaped.is_used())
+ if(!_weights_reshaped.is_used())
{
_weights_reshaped.allocator()->free();
}