From 3ae3d88c1a305ef4fc0beed8fda3cfc39ddb2ae8 Mon Sep 17 00:00:00 2001 From: ramelg01 Date: Sun, 12 Sep 2021 23:07:47 +0100 Subject: Provide logging for configure functions in all cpu operators Partially Resolves: COMPMID-4718 Signed-off-by: Ramy Elgammal Change-Id: I02eabdd6bce8cd561ab2fdfd644a686a3762b817 Reviewed-on: https://review.mlplatform.org/c/ml/ComputeLibrary/+/6253 Reviewed-by: Giorgio Arena Reviewed-by: Georgios Pinitas Tested-by: Arm Jenkins Comments-Addressed: Arm Jenkins --- src/cpu/operators/CpuActivation.cpp | 2 ++ src/cpu/operators/CpuAdd.cpp | 2 +- src/cpu/operators/CpuCast.cpp | 3 +++ src/cpu/operators/CpuConcatenate.cpp | 2 ++ src/cpu/operators/CpuConv2d.cpp | 3 +++ src/cpu/operators/CpuConvertFullyConnectedWeights.cpp | 2 ++ src/cpu/operators/CpuCopy.cpp | 3 +++ src/cpu/operators/CpuDepthwiseConv2d.cpp | 3 +++ src/cpu/operators/CpuDepthwiseConv2dAssemblyDispatch.cpp | 2 ++ src/cpu/operators/CpuDequantize.cpp | 2 ++ src/cpu/operators/CpuDirectConv2d.cpp | 3 +++ src/cpu/operators/CpuElementwise.cpp | 6 ++++++ src/cpu/operators/CpuElementwiseUnary.cpp | 2 ++ src/cpu/operators/CpuFill.cpp | 3 +++ src/cpu/operators/CpuFlatten.cpp | 3 +++ src/cpu/operators/CpuFloor.cpp | 3 +++ src/cpu/operators/CpuFullyConnected.cpp | 2 ++ src/cpu/operators/CpuGemm.cpp | 2 ++ src/cpu/operators/CpuGemmConv2d.cpp | 2 ++ src/cpu/operators/CpuGemmDirectConv2d.cpp | 3 +++ src/cpu/operators/CpuGemmLowpMatrixMultiplyCore.cpp | 2 ++ src/cpu/operators/CpuGemmLowpOutputStage.cpp | 2 ++ src/cpu/operators/CpuMul.cpp | 5 +++++ src/cpu/operators/CpuPermute.cpp | 3 +++ src/cpu/operators/CpuPool2d.cpp | 3 +++ src/cpu/operators/CpuQuantize.cpp | 2 ++ src/cpu/operators/CpuReshape.cpp | 3 +++ src/cpu/operators/CpuScale.cpp | 2 ++ src/cpu/operators/CpuSoftmax.cpp | 2 ++ src/cpu/operators/CpuSub.cpp | 5 ++++- src/cpu/operators/CpuTranspose.cpp | 3 +++ src/cpu/operators/CpuWinogradConv2d.cpp | 2 ++ 32 files changed, 85 insertions(+), 2 deletions(-) (limited to 'src/cpu/operators') diff --git a/src/cpu/operators/CpuActivation.cpp b/src/cpu/operators/CpuActivation.cpp index d9330a8156..3945fa59a5 100644 --- a/src/cpu/operators/CpuActivation.cpp +++ b/src/cpu/operators/CpuActivation.cpp @@ -25,6 +25,7 @@ #include "src/common/IOperator.h" #include "src/common/utils/LegacySupport.h" +#include "src/common/utils/Log.h" #include "src/cpu/CpuContext.h" #include "src/cpu/kernels/CpuActivationKernel.h" @@ -34,6 +35,7 @@ namespace cpu { void CpuActivation::configure(const ITensorInfo *input, ITensorInfo *output, const ActivationLayerInfo &activation_info) { + ARM_COMPUTE_LOG_PARAMS(input, output, activation_info); auto k = std::make_unique(); k->configure(input, output, activation_info); _kernel = std::move(k); diff --git a/src/cpu/operators/CpuAdd.cpp b/src/cpu/operators/CpuAdd.cpp index 755b1994ae..76ec7d7d8d 100644 --- a/src/cpu/operators/CpuAdd.cpp +++ b/src/cpu/operators/CpuAdd.cpp @@ -33,8 +33,8 @@ namespace cpu { void CpuAdd::configure(const ITensorInfo *src0, const ITensorInfo *src1, ITensorInfo *dst, ConvertPolicy policy, const ActivationLayerInfo &act_info) { - ARM_COMPUTE_LOG_PARAMS(src0, src1, policy, act_info); ARM_COMPUTE_UNUSED(act_info); + ARM_COMPUTE_LOG_PARAMS(src0, src1, dst, policy, act_info); auto k = std::make_unique(); k->configure(src0, src1, dst, policy); _kernel = std::move(k); diff --git a/src/cpu/operators/CpuCast.cpp b/src/cpu/operators/CpuCast.cpp index d0980c75b6..1cfd8c1d0e 100644 --- a/src/cpu/operators/CpuCast.cpp +++ b/src/cpu/operators/CpuCast.cpp @@ -25,12 +25,15 @@ #include "src/cpu/kernels/CpuCastKernel.h" +#include "src/common/utils/Log.h" + namespace arm_compute { namespace cpu { void CpuCast::configure(const ITensorInfo *src, ITensorInfo *dst, ConvertPolicy policy) { + ARM_COMPUTE_LOG_PARAMS(src, dst, policy); auto k = std::make_unique(); k->configure(src, dst, policy); _kernel = std::move(k); diff --git a/src/cpu/operators/CpuConcatenate.cpp b/src/cpu/operators/CpuConcatenate.cpp index 92c1ef6bdf..4021fd8ded 100644 --- a/src/cpu/operators/CpuConcatenate.cpp +++ b/src/cpu/operators/CpuConcatenate.cpp @@ -36,6 +36,7 @@ #include "arm_compute/core/TensorInfo.h" #include "arm_compute/core/Types.h" #include "arm_compute/core/Validate.h" +#include "src/common/utils/Log.h" #include "src/core/helpers/AutoConfiguration.h" namespace arm_compute @@ -45,6 +46,7 @@ namespace cpu void CpuConcatenate::configure(const std::vector &srcs_vector, ITensorInfo *dst, size_t axis) { ARM_COMPUTE_ERROR_ON(dst == nullptr); + ARM_COMPUTE_LOG_PARAMS(srcs_vector, dst, axis); _axis = axis; _num_srcs = srcs_vector.size(); diff --git a/src/cpu/operators/CpuConv2d.cpp b/src/cpu/operators/CpuConv2d.cpp index 3878e0de58..fa8a7a185c 100644 --- a/src/cpu/operators/CpuConv2d.cpp +++ b/src/cpu/operators/CpuConv2d.cpp @@ -24,6 +24,7 @@ #include "src/cpu/operators/CpuConv2d.h" #include "arm_compute/runtime/NEON/NEScheduler.h" #include "arm_compute/runtime/NEON/functions/NEFFTConvolutionLayer.h" +#include "src/common/utils/Log.h" #include "src/cpu/operators/CpuDirectConv2d.h" #include "src/cpu/operators/CpuGemm.h" #include "src/cpu/operators/CpuGemmConv2d.h" @@ -50,6 +51,8 @@ void CpuConv2d::configure(ITensorInfo *input, ITensorInfo *weights, const ITenso ARM_COMPUTE_ERROR_THROW_ON(CpuConv2d::validate(input, weights, biases, output, conv_info, weights_info, dilation, act_info, enable_fast_math, num_groups)); + ARM_COMPUTE_LOG_PARAMS(input, weights, biases, output, conv_info, weights_info, dilation, act_info, enable_fast_math, num_groups); + const Conv2dInfo info(conv_info, dilation, act_info, enable_fast_math, num_groups); switch(CpuConv2d::get_convolution_method(input, weights, output, conv_info, weights_info, dilation, act_info, enable_fast_math)) { diff --git a/src/cpu/operators/CpuConvertFullyConnectedWeights.cpp b/src/cpu/operators/CpuConvertFullyConnectedWeights.cpp index da744fc100..810ffb1e4e 100644 --- a/src/cpu/operators/CpuConvertFullyConnectedWeights.cpp +++ b/src/cpu/operators/CpuConvertFullyConnectedWeights.cpp @@ -24,6 +24,7 @@ #include "src/cpu/operators/CpuConvertFullyConnectedWeights.h" #include "arm_compute/runtime/NEON/NEScheduler.h" +#include "src/common/utils/Log.h" #include "src/cpu/kernels/CpuConvertFullyConnectedWeightsKernel.h" namespace arm_compute @@ -32,6 +33,7 @@ namespace cpu { void CpuConvertFullyConnectedWeights::configure(const ITensorInfo *src, ITensorInfo *dst, const TensorShape &original_src_shape, DataLayout data_layout) { + ARM_COMPUTE_LOG_PARAMS(src, dst, original_src_shape, data_layout); auto k = std::make_unique(); k->configure(src, dst, original_src_shape, data_layout); _kernel = std::move(k); diff --git a/src/cpu/operators/CpuCopy.cpp b/src/cpu/operators/CpuCopy.cpp index 2eecc2390e..7420ff6240 100644 --- a/src/cpu/operators/CpuCopy.cpp +++ b/src/cpu/operators/CpuCopy.cpp @@ -25,12 +25,15 @@ #include "src/cpu/kernels/CpuCopyKernel.h" +#include "src/common/utils/Log.h" + namespace arm_compute { namespace cpu { void CpuCopy::configure(const ITensorInfo *src, ITensorInfo *dst) { + ARM_COMPUTE_LOG_PARAMS(src, dst); auto k = std::make_unique(); k->configure(src, dst); _kernel = std::move(k); diff --git a/src/cpu/operators/CpuDepthwiseConv2d.cpp b/src/cpu/operators/CpuDepthwiseConv2d.cpp index 071690e7a6..c93ffb113d 100644 --- a/src/cpu/operators/CpuDepthwiseConv2d.cpp +++ b/src/cpu/operators/CpuDepthwiseConv2d.cpp @@ -28,6 +28,7 @@ #include "arm_compute/core/utils/misc/InfoHelpers.h" #include "arm_compute/core/utils/misc/ShapeCalculator.h" #include "arm_compute/runtime/NEON/NEScheduler.h" +#include "src/common/utils/Log.h" #include "src/cpu/kernels/CpuDepthwiseConv2dNativeKernel.h" namespace arm_compute @@ -422,6 +423,8 @@ void CpuDepthwiseConv2d::CpuDepthwiseConv2dGeneric::prepare(ITensorPack &tensors void CpuDepthwiseConv2d::configure(ITensorInfo *src, const ITensorInfo *weights, const ITensorInfo *biases, ITensorInfo *dst, const ConvolutionInfo &info) { + ARM_COMPUTE_LOG_PARAMS(src, weights, biases, dst, info); + _depth_conv_func = get_depthwiseconvolution_function(src, weights, (biases != nullptr) ? biases : nullptr, dst, info); switch(_depth_conv_func) { diff --git a/src/cpu/operators/CpuDepthwiseConv2dAssemblyDispatch.cpp b/src/cpu/operators/CpuDepthwiseConv2dAssemblyDispatch.cpp index a353a66dc2..e75b082ca5 100644 --- a/src/cpu/operators/CpuDepthwiseConv2dAssemblyDispatch.cpp +++ b/src/cpu/operators/CpuDepthwiseConv2dAssemblyDispatch.cpp @@ -26,6 +26,7 @@ #include "arm_compute/core/ITensorInfo.h" #include "arm_compute/runtime/NEON/NEScheduler.h" +#include "src/common/utils/Log.h" #include "src/core/CPP/Validate.h" #include "src/core/helpers/AutoConfiguration.h" #include "src/core/utils/AssemblyUtils.h" @@ -57,6 +58,7 @@ void CpuDepthwiseConv2dAssemblyDispatch::configure(const ITensorInfo *src, ITensorInfo *dst, const ConvolutionInfo &info) { + ARM_COMPUTE_LOG_PARAMS(src, weights, bias, dst, info); const CPUInfo &ci = NEScheduler::get().cpu_info(); const unsigned int num_threads = NEScheduler::get().num_threads(); _pImpl->is_prepared = false; diff --git a/src/cpu/operators/CpuDequantize.cpp b/src/cpu/operators/CpuDequantize.cpp index 7c03571f40..12dc136ba3 100644 --- a/src/cpu/operators/CpuDequantize.cpp +++ b/src/cpu/operators/CpuDequantize.cpp @@ -26,6 +26,7 @@ #include "arm_compute/core/TensorInfo.h" #include "arm_compute/core/Validate.h" #include "arm_compute/runtime/NEON/NEScheduler.h" +#include "src/common/utils/Log.h" #include "src/cpu/kernels/CpuDequantizeKernel.h" namespace arm_compute @@ -34,6 +35,7 @@ namespace cpu { void CpuDequantize::configure(const ITensorInfo *src, ITensorInfo *dst) { + ARM_COMPUTE_LOG_PARAMS(src, dst); auto k = std::make_unique(); k->configure(src, dst); _kernel = std::move(k); diff --git a/src/cpu/operators/CpuDirectConv2d.cpp b/src/cpu/operators/CpuDirectConv2d.cpp index ec52dbf153..9cdbdb61c1 100644 --- a/src/cpu/operators/CpuDirectConv2d.cpp +++ b/src/cpu/operators/CpuDirectConv2d.cpp @@ -27,6 +27,7 @@ #include "arm_compute/core/Utils.h" #include "arm_compute/core/Validate.h" #include "arm_compute/runtime/NEON/NEScheduler.h" +#include "src/common/utils/Log.h" namespace arm_compute { @@ -43,6 +44,8 @@ CpuDirectConv2d::CpuDirectConv2d(std::shared_ptr memory_manager) void CpuDirectConv2d::configure(ITensorInfo *src, ITensorInfo *weights, const ITensorInfo *bias, ITensorInfo *dst, const PadStrideInfo &conv_info, const ActivationLayerInfo &act_info) { ARM_COMPUTE_ERROR_ON(src->data_layout() == DataLayout::UNKNOWN); + ARM_COMPUTE_LOG_PARAMS(src, weights, bias, dst, conv_info, act_info); + _output_stage_kernel = std::make_unique(); _conv_kernel = std::make_unique(); _input_border_handler = std::make_unique(); diff --git a/src/cpu/operators/CpuElementwise.cpp b/src/cpu/operators/CpuElementwise.cpp index 4f767434f3..b88ae3e514 100644 --- a/src/cpu/operators/CpuElementwise.cpp +++ b/src/cpu/operators/CpuElementwise.cpp @@ -22,6 +22,7 @@ * SOFTWARE. */ #include "src/cpu/operators/CpuElementwise.h" +#include "src/common/utils/Log.h" #include "src/core/helpers/WindowHelpers.h" #include "src/cpu/kernels/CpuElementwiseKernel.h" @@ -47,6 +48,7 @@ void CpuElementwiseBase::run(ITensorPack &tensors) template void CpuElementwiseArithmetic::configure(const ITensorInfo *src0, const ITensorInfo *src1, ITensorInfo *dst) { + ARM_COMPUTE_LOG_PARAMS(src0, src1, dst); auto k = std::make_unique(); k->configure(op, src0, src1, dst); _kernel = std::move(k); @@ -65,6 +67,7 @@ template class CpuElementwiseArithmetic; void CpuElementwiseDivision::configure(const ITensorInfo *src0, const ITensorInfo *src1, ITensorInfo *dst) { + ARM_COMPUTE_LOG_PARAMS(src0, src1, dst); auto k = std::make_unique(); k->configure(src0, src1, dst); _kernel = std::move(k); @@ -77,6 +80,7 @@ Status CpuElementwiseDivision::validate(const ITensorInfo *src0, const ITensorIn void CpuElementwisePower::configure(const ITensorInfo *src0, const ITensorInfo *src1, ITensorInfo *dst) { + ARM_COMPUTE_LOG_PARAMS(src0, src1, dst); auto k = std::make_unique(); k->configure(src0, src1, dst); _kernel = std::move(k); @@ -90,6 +94,7 @@ Status CpuElementwisePower::validate(const ITensorInfo *src0, const ITensorInfo template void CpuElementwiseComparisonStatic::configure(const ITensorInfo *src0, const ITensorInfo *src1, ITensorInfo *dst) { + ARM_COMPUTE_LOG_PARAMS(src0, src1, dst); auto k = std::make_unique(); k->configure(COP, src0, src1, dst); _kernel = std::move(k); @@ -103,6 +108,7 @@ Status CpuElementwiseComparisonStatic::validate(const ITensorInfo *src0, co void CpuElementwiseComparison::configure(const ITensorInfo *src0, const ITensorInfo *src1, ITensorInfo *dst, ComparisonOperation op) { + ARM_COMPUTE_LOG_PARAMS(src0, src1, dst); auto k = std::make_unique(); k->configure(op, src0, src1, dst); _kernel = std::move(k); diff --git a/src/cpu/operators/CpuElementwiseUnary.cpp b/src/cpu/operators/CpuElementwiseUnary.cpp index 7cf1488c44..7fd14dba7d 100644 --- a/src/cpu/operators/CpuElementwiseUnary.cpp +++ b/src/cpu/operators/CpuElementwiseUnary.cpp @@ -22,6 +22,7 @@ * SOFTWARE. */ #include "src/cpu/operators/CpuElementwiseUnary.h" +#include "src/common/utils/Log.h" #include "src/core/helpers/WindowHelpers.h" #include "src/cpu/kernels/CpuElementwiseUnaryKernel.h" @@ -33,6 +34,7 @@ using KernelType = kernels::CpuElementwiseUnaryKernel; void CpuElementwiseUnary::configure(ElementWiseUnary op, const ITensorInfo &src, ITensorInfo &dst) { + ARM_COMPUTE_LOG_PARAMS(op, src, dst); auto k = std::make_unique(); k->configure(op, src, dst); _kernel = std::move(k); diff --git a/src/cpu/operators/CpuFill.cpp b/src/cpu/operators/CpuFill.cpp index c0b48f5830..3d8f62fe07 100644 --- a/src/cpu/operators/CpuFill.cpp +++ b/src/cpu/operators/CpuFill.cpp @@ -25,12 +25,15 @@ #include "src/cpu/kernels/CpuFillKernel.h" +#include "src/common/utils/Log.h" + namespace arm_compute { namespace cpu { void CpuFill::configure(const ITensorInfo *tensor, PixelValue constant_value) { + ARM_COMPUTE_LOG_PARAMS(tensor, constant_value); auto k = std::make_unique(); k->configure(tensor, constant_value); _kernel = std::move(k); diff --git a/src/cpu/operators/CpuFlatten.cpp b/src/cpu/operators/CpuFlatten.cpp index 685e5b9238..f6ae139794 100644 --- a/src/cpu/operators/CpuFlatten.cpp +++ b/src/cpu/operators/CpuFlatten.cpp @@ -25,12 +25,15 @@ #include "src/cpu/kernels/CpuReshapeKernel.h" +#include "src/common/utils/Log.h" + namespace arm_compute { namespace cpu { void CpuFlatten::configure(const ITensorInfo *src, ITensorInfo *dst) { + ARM_COMPUTE_LOG_PARAMS(src, dst); auto k = std::make_unique(); k->configure(src, dst); _kernel = std::move(k); diff --git a/src/cpu/operators/CpuFloor.cpp b/src/cpu/operators/CpuFloor.cpp index 55f645847f..868add7d29 100644 --- a/src/cpu/operators/CpuFloor.cpp +++ b/src/cpu/operators/CpuFloor.cpp @@ -25,12 +25,15 @@ #include "src/cpu/kernels/CpuFloorKernel.h" +#include "src/common/utils/Log.h" + namespace arm_compute { namespace cpu { void CpuFloor::configure(const ITensorInfo *src, ITensorInfo *dst) { + ARM_COMPUTE_LOG_PARAMS(src, dst); auto k = std::make_unique(); k->configure(src, dst); _kernel = std::move(k); diff --git a/src/cpu/operators/CpuFullyConnected.cpp b/src/cpu/operators/CpuFullyConnected.cpp index cafb3484b6..4133d9e8ca 100644 --- a/src/cpu/operators/CpuFullyConnected.cpp +++ b/src/cpu/operators/CpuFullyConnected.cpp @@ -29,6 +29,7 @@ #include "arm_compute/core/utils/misc/ShapeCalculator.h" #include "arm_compute/core/utils/quantization/AsymmHelpers.h" #include "arm_compute/runtime/NEON/NEScheduler.h" +#include "src/common/utils/Log.h" #include "src/core/helpers/AutoConfiguration.h" #include "src/core/helpers/MemoryHelpers.h" #include "src/cpu/kernels/CpuTransposeKernel.h" @@ -231,6 +232,7 @@ void CpuFullyConnected::configure(const ITensorInfo *src, const ITensorInfo *wei biases != nullptr ? biases : nullptr, dst, fc_info)); + ARM_COMPUTE_LOG_PARAMS(src, weights, biases, dst, fc_info); _needs_weights_conversion = false; _needs_weights_reshape = fc_info.transpose_weights ? !fc_info.are_weights_reshaped : false; diff --git a/src/cpu/operators/CpuGemm.cpp b/src/cpu/operators/CpuGemm.cpp index f7416315e9..9c7ad92761 100644 --- a/src/cpu/operators/CpuGemm.cpp +++ b/src/cpu/operators/CpuGemm.cpp @@ -27,6 +27,7 @@ #include "arm_compute/core/Validate.h" #include "arm_compute/core/utils/misc/ShapeCalculator.h" #include "arm_compute/runtime/NEON/NEScheduler.h" +#include "src/common/utils/Log.h" #include "src/core/CPP/Validate.h" #include "src/core/helpers/AutoConfiguration.h" #include "src/core/helpers/MemoryHelpers.h" @@ -58,6 +59,7 @@ void CpuGemm::configure(const ITensorInfo *a, const ITensorInfo *b, const ITenso { ARM_COMPUTE_ERROR_ON_NULLPTR(a, b, d); ARM_COMPUTE_ERROR_THROW_ON(CpuGemm::validate(a, b, c, d, alpha, beta, gemm_info)); + ARM_COMPUTE_LOG_PARAMS(a, b, c, d, alpha, beta, gemm_info); const cpu::AsmGemmInfo asm_info = init_assembly_metadata(gemm_info); const bool is_c_bias = gemm_info.reshape_b_only_on_first_run(); diff --git a/src/cpu/operators/CpuGemmConv2d.cpp b/src/cpu/operators/CpuGemmConv2d.cpp index 5010792a28..d925f8edd9 100644 --- a/src/cpu/operators/CpuGemmConv2d.cpp +++ b/src/cpu/operators/CpuGemmConv2d.cpp @@ -31,6 +31,7 @@ #include "arm_compute/core/utils/quantization/AsymmHelpers.h" #include "arm_compute/runtime/NEON/NEScheduler.h" +#include "src/common/utils/Log.h" #include "src/core/helpers/MemoryHelpers.h" #include "src/cpu/kernels/CpuCol2ImKernel.h" #include "src/cpu/kernels/CpuIm2ColKernel.h" @@ -226,6 +227,7 @@ void CpuGemmConv2d::configure(const ITensorInfo *src, const ITensorInfo *weights act_info, enable_fast_math, num_groups)); + ARM_COMPUTE_LOG_PARAMS(src, weights, biases, dst, conv_info, weights_info, dilation, act_info, enable_fast_math, num_groups); const DataType data_type = src->data_type(); const DataLayout data_layout = src->data_layout(); diff --git a/src/cpu/operators/CpuGemmDirectConv2d.cpp b/src/cpu/operators/CpuGemmDirectConv2d.cpp index 2e17a21462..75c057e455 100644 --- a/src/cpu/operators/CpuGemmDirectConv2d.cpp +++ b/src/cpu/operators/CpuGemmDirectConv2d.cpp @@ -26,6 +26,7 @@ #include "arm_compute/core/utils/misc/ShapeCalculator.h" #include "arm_compute/core/utils/quantization/AsymmHelpers.h" #include "arm_compute/runtime/FunctionDescriptors.h" +#include "src/common/utils/Log.h" #include "src/core/helpers/MemoryHelpers.h" #include "src/cpu/utils/CpuAuxTensorHandler.h" @@ -112,6 +113,8 @@ void CpuGemmDirectConv2d::configure(const ITensorInfo *src, const ITensorInfo *w biases != nullptr ? biases : nullptr, dst, info)); + ARM_COMPUTE_LOG_PARAMS(src, weights, biases, dst, info); + _run_activation = info.act_info.enabled() && !_gemm_asm_func->is_activation_supported(info.act_info); _is_prepared = false; diff --git a/src/cpu/operators/CpuGemmLowpMatrixMultiplyCore.cpp b/src/cpu/operators/CpuGemmLowpMatrixMultiplyCore.cpp index 2074a89307..8faa3c217a 100644 --- a/src/cpu/operators/CpuGemmLowpMatrixMultiplyCore.cpp +++ b/src/cpu/operators/CpuGemmLowpMatrixMultiplyCore.cpp @@ -35,6 +35,7 @@ #include "src/core/helpers/AutoConfiguration.h" #include "src/core/helpers/MemoryHelpers.h" +#include "src/common/utils/Log.h" #include "src/cpu/kernels/CpuConvertQuantizedSignednessKernel.h" #include "src/cpu/kernels/CpuGemmInterleave4x4Kernel.h" #include "src/cpu/kernels/CpuGemmLowpMatrixMultiplyKernel.h" @@ -108,6 +109,7 @@ void CpuGemmLowpMatrixMultiplyCore::configure(const ITensorInfo *a, const ITenso { ARM_COMPUTE_ERROR_ON_NULLPTR(a, b, dst); ARM_COMPUTE_ERROR_THROW_ON(CpuGemmLowpMatrixMultiplyCore::validate(a, b, c, dst, gemm_info)); + ARM_COMPUTE_LOG_PARAMS(a, b, c, dst, gemm_info); const ITensorInfo *matrix_a = a; const ITensorInfo *matrix_b = b; diff --git a/src/cpu/operators/CpuGemmLowpOutputStage.cpp b/src/cpu/operators/CpuGemmLowpOutputStage.cpp index ebd3f60280..58f98acff0 100644 --- a/src/cpu/operators/CpuGemmLowpOutputStage.cpp +++ b/src/cpu/operators/CpuGemmLowpOutputStage.cpp @@ -26,6 +26,7 @@ #include "arm_compute/core/ITensor.h" #include "arm_compute/core/Validate.h" #include "arm_compute/runtime/NEON/NEScheduler.h" +#include "src/common/utils/Log.h" #include "src/cpu/kernels/CpuGemmLowpQuantizeDownInt32ScaleKernel.h" #include "src/cpu/kernels/CpuGemmLowpQuantizeDownInt32ToInt16ScaleByFixedPointKernel.h" #include "src/cpu/kernels/CpuGemmLowpQuantizeDownInt32ToInt8ScaleByFixedPointKernel.h" @@ -39,6 +40,7 @@ void CpuGemmLowpOutputStage::configure(ITensorInfo *src, ITensorInfo *bias, ITen { // Perform validate step ARM_COMPUTE_ERROR_THROW_ON(CpuGemmLowpOutputStage::validate(src, bias, dst, info)); + ARM_COMPUTE_LOG_PARAMS(src, bias, dst, info); switch(info.type) { diff --git a/src/cpu/operators/CpuMul.cpp b/src/cpu/operators/CpuMul.cpp index 06a68d64a8..9cb93b7784 100644 --- a/src/cpu/operators/CpuMul.cpp +++ b/src/cpu/operators/CpuMul.cpp @@ -26,6 +26,7 @@ #include "arm_compute/core/TensorInfo.h" #include "arm_compute/core/Validate.h" #include "arm_compute/runtime/NEON/NEScheduler.h" +#include "src/common/utils/Log.h" #include "src/cpu/kernels/CpuMulKernel.h" namespace arm_compute @@ -43,6 +44,8 @@ void CpuMul::configure(ITensorInfo *src1, ITensorInfo *src2, ITensorInfo *dst, f const ActivationLayerInfo &act_info) { ARM_COMPUTE_UNUSED(act_info); + ARM_COMPUTE_LOG_PARAMS(src1, src2, dst, scale, overflow_policy, rounding_policy, act_info); + auto k = std::make_unique(); k->configure(src1, src2, dst, scale, overflow_policy, rounding_policy); _kernel = std::move(k); @@ -63,6 +66,8 @@ Status CpuComplexMul::validate(const ITensorInfo *src1, const ITensorInfo *src2, void CpuComplexMul::configure(ITensorInfo *src1, ITensorInfo *src2, ITensorInfo *dst, const ActivationLayerInfo &act_info) { ARM_COMPUTE_UNUSED(act_info); + ARM_COMPUTE_LOG_PARAMS(src1, src2, dst, act_info); + auto k = std::make_unique(); k->configure(src1, src2, dst); _kernel = std::move(k); diff --git a/src/cpu/operators/CpuPermute.cpp b/src/cpu/operators/CpuPermute.cpp index d730815313..babaf21b6f 100644 --- a/src/cpu/operators/CpuPermute.cpp +++ b/src/cpu/operators/CpuPermute.cpp @@ -25,12 +25,15 @@ #include "src/cpu/kernels/CpuPermuteKernel.h" +#include "src/common/utils/Log.h" + namespace arm_compute { namespace cpu { void CpuPermute::configure(const ITensorInfo *src, ITensorInfo *dst, const PermutationVector &perm) { + ARM_COMPUTE_LOG_PARAMS(src, dst, perm); auto k = std::make_unique(); k->configure(src, dst, perm); _kernel = std::move(k); diff --git a/src/cpu/operators/CpuPool2d.cpp b/src/cpu/operators/CpuPool2d.cpp index 6059c75dd2..a4ac871d48 100644 --- a/src/cpu/operators/CpuPool2d.cpp +++ b/src/cpu/operators/CpuPool2d.cpp @@ -26,6 +26,7 @@ #include "arm_compute/core/ITensor.h" #include "arm_compute/core/TensorInfo.h" #include "arm_compute/runtime/NEON/NEScheduler.h" +#include "src/common/utils/Log.h" #include "src/core/NEON/kernels/NEFillBorderKernel.h" #include "src/cpu/kernels/CpuPool2dKernel.h" #include "src/cpu/kernels/internal/CpuPool2dAssemblyWrapperKernel.h" @@ -50,6 +51,8 @@ CpuPool2d::~CpuPool2d() = default; void CpuPool2d::configure(ITensorInfo *src, ITensorInfo *dst, const PoolingLayerInfo &pool_info, ITensorInfo *indices) { + ARM_COMPUTE_LOG_PARAMS(src, dst, pool_info, indices); + // Check if we can run assembly kernels. Currently, indices are not supported by those kernels const bool run_optimised = bool(kernels::CpuPool2dAssemblyWrapperKernel::validate(src, dst, pool_info)) && (indices == nullptr); diff --git a/src/cpu/operators/CpuQuantize.cpp b/src/cpu/operators/CpuQuantize.cpp index 0bfcc21942..f9e14d1f88 100644 --- a/src/cpu/operators/CpuQuantize.cpp +++ b/src/cpu/operators/CpuQuantize.cpp @@ -27,6 +27,7 @@ #include "arm_compute/core/Types.h" #include "arm_compute/core/Validate.h" #include "arm_compute/runtime/NEON/NEScheduler.h" +#include "src/common/utils/Log.h" #include "src/cpu/kernels/CpuQuantizeKernel.h" namespace arm_compute @@ -42,6 +43,7 @@ Status CpuQuantize::validate(const ITensorInfo *src, const ITensorInfo *dst) void CpuQuantize::configure(const ITensorInfo *src, ITensorInfo *dst) { ARM_COMPUTE_ERROR_ON_NULLPTR(src, dst); + ARM_COMPUTE_LOG_PARAMS(src, dst); // Configure quantize kernel auto k = std::make_unique(); diff --git a/src/cpu/operators/CpuReshape.cpp b/src/cpu/operators/CpuReshape.cpp index 5d2b052e34..79e7b8fe6e 100644 --- a/src/cpu/operators/CpuReshape.cpp +++ b/src/cpu/operators/CpuReshape.cpp @@ -25,12 +25,15 @@ #include "src/cpu/kernels/CpuReshapeKernel.h" +#include "src/common/utils/Log.h" + namespace arm_compute { namespace cpu { void CpuReshape::configure(const ITensorInfo *src, ITensorInfo *dst) { + ARM_COMPUTE_LOG_PARAMS(src, dst); auto k = std::make_unique(); k->configure(src, dst); _kernel = std::move(k); diff --git a/src/cpu/operators/CpuScale.cpp b/src/cpu/operators/CpuScale.cpp index 9e35bccec5..27da238c16 100644 --- a/src/cpu/operators/CpuScale.cpp +++ b/src/cpu/operators/CpuScale.cpp @@ -27,6 +27,7 @@ #include "arm_compute/core/TensorInfo.h" #include "arm_compute/core/Validate.h" #include "arm_compute/runtime/NEON/NEScheduler.h" +#include "src/common/utils/Log.h" #include "src/core/utils/ScaleUtils.h" #include "src/cpu/kernels/CpuScaleKernel.h" #include "support/Rounding.h" @@ -90,6 +91,7 @@ void CpuScale::configure(ITensorInfo *src, ITensorInfo *dst, const ScaleKernelIn { ARM_COMPUTE_ERROR_ON_NULLPTR(src, dst); ARM_COMPUTE_ERROR_THROW_ON(CpuScale::validate(src, dst, info)); + ARM_COMPUTE_LOG_PARAMS(src, dst, info); _scale_info = info; _is_prepared = false; diff --git a/src/cpu/operators/CpuSoftmax.cpp b/src/cpu/operators/CpuSoftmax.cpp index b70ee7e4df..bf4c2fa3a2 100644 --- a/src/cpu/operators/CpuSoftmax.cpp +++ b/src/cpu/operators/CpuSoftmax.cpp @@ -28,6 +28,7 @@ #include "arm_compute/core/Validate.h" #include "arm_compute/core/utils/misc/ShapeCalculator.h" #include "arm_compute/runtime/NEON/NEScheduler.h" +#include "src/common/utils/Log.h" #include "src/core/helpers/MemoryHelpers.h" #include "src/core/helpers/SoftmaxHelpers.h" #include "src/cpu/kernels/CpuSoftmaxKernel.h" @@ -60,6 +61,7 @@ void CpuSoftmaxGeneric::configure(const ITensorInfo *src, ITensorInfo *d // Perform validation step ARM_COMPUTE_ERROR_ON_NULLPTR(src, dst); ARM_COMPUTE_ERROR_THROW_ON(CpuSoftmaxGeneric::validate(src, dst, beta, axis)); + ARM_COMPUTE_LOG_PARAMS(src, dst, beta, axis); const unsigned int actual_axis = static_cast(wrap_around(axis, static_cast(src->num_dimensions()))); diff --git a/src/cpu/operators/CpuSub.cpp b/src/cpu/operators/CpuSub.cpp index 0485a595c7..f0a7770cea 100644 --- a/src/cpu/operators/CpuSub.cpp +++ b/src/cpu/operators/CpuSub.cpp @@ -25,6 +25,8 @@ #include "src/cpu/kernels/CpuSubKernel.h" +#include "src/common/utils/Log.h" + namespace arm_compute { namespace cpu @@ -32,6 +34,7 @@ namespace cpu void CpuSub::configure(const ITensorInfo *src0, const ITensorInfo *src1, ITensorInfo *dst, ConvertPolicy policy, const ActivationLayerInfo &act_info) { ARM_COMPUTE_UNUSED(act_info); + ARM_COMPUTE_LOG_PARAMS(src0, src1, dst, policy); auto k = std::make_unique(); k->configure(src0, src1, dst, policy); _kernel = std::move(k); @@ -43,4 +46,4 @@ Status CpuSub::validate(const ITensorInfo *src0, const ITensorInfo *src1, const return kernels::CpuSubKernel::validate(src0, src1, dst, policy); } } // namespace cpu -} // namespace arm_compute \ No newline at end of file +} // namespace arm_compute diff --git a/src/cpu/operators/CpuTranspose.cpp b/src/cpu/operators/CpuTranspose.cpp index 518227b464..4e7854fd6e 100644 --- a/src/cpu/operators/CpuTranspose.cpp +++ b/src/cpu/operators/CpuTranspose.cpp @@ -25,12 +25,15 @@ #include "src/cpu/kernels/CpuTransposeKernel.h" +#include "src/common/utils/Log.h" + namespace arm_compute { namespace cpu { void CpuTranspose::configure(const ITensorInfo *src, ITensorInfo *dst) { + ARM_COMPUTE_LOG_PARAMS(src, dst); auto k = std::make_unique(); k->configure(src, dst); _kernel = std::move(k); diff --git a/src/cpu/operators/CpuWinogradConv2d.cpp b/src/cpu/operators/CpuWinogradConv2d.cpp index 8fca836b8e..dcc18ce8fa 100644 --- a/src/cpu/operators/CpuWinogradConv2d.cpp +++ b/src/cpu/operators/CpuWinogradConv2d.cpp @@ -29,6 +29,7 @@ #include "arm_compute/core/utils/quantization/AsymmHelpers.h" #include "arm_compute/runtime/FunctionDescriptors.h" #include "arm_compute/runtime/NEON/NEScheduler.h" +#include "src/common/utils/Log.h" #include "src/core/CPP/Validate.h" #include "src/core/NEON/kernels/convolution/common/utils.hpp" #include "src/core/NEON/kernels/convolution/winograd/winograd.hpp" @@ -340,6 +341,7 @@ void CpuWinogradConv2d::configure(const ITensorInfo *src, const ITensorInfo *wei { ARM_COMPUTE_ERROR_ON_NULLPTR(src, weights, dst); ARM_COMPUTE_ERROR_THROW_ON(validate_arguments(src, weights, biases, dst, conv_info)); + ARM_COMPUTE_LOG_PARAMS(src, weights, biases, dst, conv_info, act_info, enable_fast_math); // Get indices for the width and height _data_layout = src->data_layout(); -- cgit v1.2.1