Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RAM usage regeression between v1.0.1 and v2.8.1 #2757

Closed
h6197627 opened this issue Feb 9, 2024 · 3 comments
Closed

RAM usage regeression between v1.0.1 and v2.8.1 #2757

h6197627 opened this issue Feb 9, 2024 · 3 comments
Labels
bug Something isn't working

Comments

@h6197627
Copy link

h6197627 commented Feb 9, 2024

I am in the process of upgrading from MNN v1.0.1 to v2.8.1 in my project. While doing initial research I noticed that one model (ResNet100) requires x2 RAM in v2.8.1 comparing to v1.0.1: mnn model file 202.5Mb, v1.0.1 RAM during inference 424Mb, v2.8.1 RAM during inference 987Mb. Concidering that I use MNN for mobile this difference is costly for me. I reproduced this behavior on desktop as well and made smallest reproduce code/model.

#include <iostream>
#include <memory>
#include <MNN/Interpreter.hpp>


int main(int argc, char** argv)
{
	auto net = std::shared_ptr<MNN::Interpreter>(MNN::Interpreter::createFromFile("model.mnn"));
	MNN::ScheduleConfig config;
	config.type = MNN_FORWARD_CPU;
	config.numThread = 4;
	config.backupType = MNN_FORWARD_CPU;

	MNN::BackendConfig backend_config;
	backend_config.precision = MNN::BackendConfig::Precision_Low;
	backend_config.power = MNN::BackendConfig::Power_Low;
	backend_config.memory = MNN::BackendConfig::Memory_Low;
	config.backendConfig = &backend_config;

	auto session = net->createSession(config);
	if (session == nullptr)
	{
		std::cout << "Session creation failure" << std::endl;
		return EXIT_FAILURE;
	}
	return EXIT_SUCCESS;
}

the difference in RAM occurs after
auto session = net->createSession(config);
line, where some model resizing are performed.

I managed to simplify model to only 2 first convolution operations model.mnn.zip from initial model having this 2x RAM usage increase
memory

Also I tested some other model architectures and found that RAM usage for them looks almost equal.
I also tried to use MNN_LOW_MEMORY=ON cmake flag - that way memory usage is reduced but substantial speed drop occurs. And, as far as I understand, v1.0.1 does not use this trick to have smaller RAM footprint for this particular network - it comes from something else.

Platform(Include target platform as well if cross-compiling):

Ubuntu 22.04 x86_64 / Android arm64-v8a

Github Version:

2.8.1 release
1.0.1 release

Source

v2.8.1

> wget https://github.com/alibaba/MNN/archive/refs/tags/2.8.1.tar.gz

v1.0.1

> wget https://github.com/alibaba/MNN/archive/refs/tags/1.0.1.tar.gz

Compiling Method

v2.8.1

> cmake -DCMAKE_BUILD_TYPE=Release -DMNN_WITH_PLUGIN=ON -DMNN_USE_LOGCAT=OFF -DMNN_SUPPORT_DEPRECATED_OP=OFF -DMNN_BUILD_TOOLS=OFF ..

CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required):
  Compatibility with CMake < 3.5 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.


-- The C compiler identification is GNU 11.4.0
-- The CXX compiler identification is GNU 11.4.0
-- The ASM compiler identification is GNU
-- Found assembler: /usr/bin/cc
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Use Threadpool, forbid openmp
-- >>>>>>>>>>>>>
-- MNN BUILD INFO:
--      System: Linux
--      Processor: x86_64
--      Version: 2.8.1
--      Metal: OFF
--      OpenCL: OFF
--      OpenGL: OFF
--      Vulkan: OFF
--      ARM82: OFF
--      oneDNN: OFF
--      TensorRT: OFF
--      CoreML: OFF
--      NNAPI: OFF
--      CUDA: OFF
--      OpenMP: OFF
--      BF16: 
--      ThreadPool: ON
--      Hidden: TRUE
--      Build Path: /home/user/MNN-2.8.1/build
--      CUDA PROFILE: OFF
-- WIN_USE_ASM: 
-- x86_64: Open SSE
-- MNN_AVX512:OFF
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE  
-- Configuring done (0.2s)
-- Generating done (0.0s)
-- Build files have been written to: /home/user/MNN-2.8.1/build

v1.0.1

> cmake -DCMAKE_BUILD_TYPE=Release -DMNN_WITH_PLUGIN=ON -DMNN_USE_LOGCAT=OFF -DMNN_SUPPORT_TFLITE_QUAN=OFF -DMNN_OPENCL_LWS_TUNE=OFF -DMNN_BUILD_TOOLS=OFF ..

CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required):
  Compatibility with CMake < 3.5 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.


-- The C compiler identification is GNU 11.4.0
-- The CXX compiler identification is GNU 11.4.0
-- The ASM compiler identification is GNU
-- Found assembler: /usr/bin/cc
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
CMake Warning (dev) at CMakeLists.txt:47 (include):
  Policy CMP0148 is not set: The FindPythonInterp and FindPythonLibs modules
  are removed.  Run "cmake --help-policy CMP0148" for policy details.  Use
  the cmake_policy command to set the policy and suppress this warning.

This warning is for project developers.  Use -Wno-dev to suppress it.

-- Found PythonInterp: /usr/bin/python3.10 (found version "3.10.12") 
-- >>>>>>>>>>>>>
-- MNN BUILD INFO:
--      System: Linux
--      Processor: x86_64
--      Metal: OFF
--      OpenCL: OFF
--      OpenGL: OFF
--      Vulkan: OFF
--      ARM82: OFF
--      OpenMP: OFF
--      Hidden: TRUE
--      Build Path: /home/user/MNN-1.0.1/build
-- x86_64: Open SSE
-- Configuring done (0.2s)
-- Generating done (0.0s)
-- Build files have been written to: /home/user/MNN-1.0.1/build

Build Log:

v2.8.1

> make

[  1%] Building CXX object CMakeFiles/MNNCore.dir/source/core/AutoTime.cpp.o
[  1%] Building CXX object CMakeFiles/MNNCore.dir/source/core/Backend.cpp.o
[  1%] Building CXX object CMakeFiles/MNNCore.dir/source/core/BackendRegister.cpp.o
[  2%] Building CXX object CMakeFiles/MNNCore.dir/source/core/BufferAllocator.cpp.o
[  2%] Building CXX object CMakeFiles/MNNCore.dir/source/core/ConvolutionCommon.cpp.o
[  2%] Building CXX object CMakeFiles/MNNCore.dir/source/core/Execution.cpp.o
[  3%] Building CXX object CMakeFiles/MNNCore.dir/source/core/FileLoader.cpp.o
[  3%] Building CXX object CMakeFiles/MNNCore.dir/source/core/Interpreter.cpp.o
[  3%] Building CXX object CMakeFiles/MNNCore.dir/source/core/MNNMemoryUtils.cpp.o
[  4%] Building CXX object CMakeFiles/MNNCore.dir/source/core/OpCommonUtils.cpp.o
[  4%] Building CXX object CMakeFiles/MNNCore.dir/source/core/Pipeline.cpp.o
[  4%] Building CXX object CMakeFiles/MNNCore.dir/source/core/RuntimeFactory.cpp.o
[  5%] Building CXX object CMakeFiles/MNNCore.dir/source/core/Schedule.cpp.o
[  5%] Building CXX object CMakeFiles/MNNCore.dir/source/core/Session.cpp.o
[  5%] Building CXX object CMakeFiles/MNNCore.dir/source/core/Tensor.cpp.o
[  6%] Building CXX object CMakeFiles/MNNCore.dir/source/core/TensorUtils.cpp.o
[  6%] Building CXX object CMakeFiles/MNNCore.dir/source/core/WrapExecution.cpp.o
[  6%] Built target MNNCore
[  6%] Building CXX object CMakeFiles/MNNCV.dir/source/cv/ImageProcess.cpp.o
[  6%] Building CXX object CMakeFiles/MNNCV.dir/source/cv/Matrix_CV.cpp.o
[  6%] Built target MNNCV
[  6%] Building CXX object CMakeFiles/MNNMath.dir/source/math/Matrix.cpp.o
[  7%] Building CXX object CMakeFiles/MNNMath.dir/source/math/WingoradGenerater.cpp.o
[  7%] Built target MNNMath
[  8%] Building CXX object CMakeFiles/MNNTransform.dir/source/geometry/ConvertUtils.cpp.o
[  8%] Building CXX object CMakeFiles/MNNTransform.dir/source/geometry/GeometryBatchMatMul.cpp.o
[  8%] Building CXX object CMakeFiles/MNNTransform.dir/source/geometry/GeometryBinary.cpp.o
[  9%] Building CXX object CMakeFiles/MNNTransform.dir/source/geometry/GeometryBroadcastTo.cpp.o
[  9%] Building CXX object CMakeFiles/MNNTransform.dir/source/geometry/GeometryComputer.cpp.o
[  9%] Building CXX object CMakeFiles/MNNTransform.dir/source/geometry/GeometryComputerUtils.cpp.o
[ 10%] Building CXX object CMakeFiles/MNNTransform.dir/source/geometry/GeometryConcat.cpp.o
[ 10%] Building CXX object CMakeFiles/MNNTransform.dir/source/geometry/GeometryConv2D.cpp.o
[ 10%] Building CXX object CMakeFiles/MNNTransform.dir/source/geometry/GeometryConv2DBackPropFilter.cpp.o
[ 11%] Building CXX object CMakeFiles/MNNTransform.dir/source/geometry/GeometryConv3D.cpp.o
[ 11%] Building CXX object CMakeFiles/MNNTransform.dir/source/geometry/GeometryConvUtils.cpp.o
[ 11%] Building CXX object CMakeFiles/MNNTransform.dir/source/geometry/GeometryConvert.cpp.o
[ 12%] Building CXX object CMakeFiles/MNNTransform.dir/source/geometry/GeometryCosineSimilarity.cpp.o
[ 12%] Building CXX object CMakeFiles/MNNTransform.dir/source/geometry/GeometryCrop.cpp.o
[ 12%] Building CXX object CMakeFiles/MNNTransform.dir/source/geometry/GeometryCumSum.cpp.o
[ 13%] Building CXX object CMakeFiles/MNNTransform.dir/source/geometry/GeometryDepthToSpace.cpp.o
[ 13%] Building CXX object CMakeFiles/MNNTransform.dir/source/geometry/GeometryDet.cpp.o
[ 13%] Building CXX object CMakeFiles/MNNTransform.dir/source/geometry/GeometryDilation2D.cpp.o
[ 14%] Building CXX object CMakeFiles/MNNTransform.dir/source/geometry/GeometryELU.cpp.o
[ 14%] Building CXX object CMakeFiles/MNNTransform.dir/source/geometry/GeometryFill.cpp.o
[ 14%] Building CXX object CMakeFiles/MNNTransform.dir/source/geometry/GeometryGather.cpp.o
[ 15%] Building CXX object CMakeFiles/MNNTransform.dir/source/geometry/GeometryImageOp.cpp.o
[ 15%] Building CXX object CMakeFiles/MNNTransform.dir/source/geometry/GeometryInnerProduct.cpp.o
[ 16%] Building CXX object CMakeFiles/MNNTransform.dir/source/geometry/GeometryLRN.cpp.o
[ 16%] Building CXX object CMakeFiles/MNNTransform.dir/source/geometry/GeometryLSTM.cpp.o
[ 16%] Building CXX object CMakeFiles/MNNTransform.dir/source/geometry/GeometryOPRegister.cpp.o
[ 17%] Building CXX object CMakeFiles/MNNTransform.dir/source/geometry/GeometryPermute.cpp.o
[ 17%] Building CXX object CMakeFiles/MNNTransform.dir/source/geometry/GeometryPoolGrad.cpp.o
[ 17%] Building CXX object CMakeFiles/MNNTransform.dir/source/geometry/GeometryPooling3D.cpp.o
[ 18%] Building CXX object CMakeFiles/MNNTransform.dir/source/geometry/GeometryReduce.cpp.o
[ 18%] Building CXX object CMakeFiles/MNNTransform.dir/source/geometry/GeometryReshape.cpp.o
[ 18%] Building CXX object CMakeFiles/MNNTransform.dir/source/geometry/GeometryReverseSequence.cpp.o
[ 19%] Building CXX object CMakeFiles/MNNTransform.dir/source/geometry/GeometryScatter.cpp.o
[ 19%] Building CXX object CMakeFiles/MNNTransform.dir/source/geometry/GeometrySelect.cpp.o
[ 19%] Building CXX object CMakeFiles/MNNTransform.dir/source/geometry/GeometryShape.cpp.o
[ 20%] Building CXX object CMakeFiles/MNNTransform.dir/source/geometry/GeometrySlice.cpp.o
[ 20%] Building CXX object CMakeFiles/MNNTransform.dir/source/geometry/GeometrySpaceToBatchND.cpp.o
[ 20%] Building CXX object CMakeFiles/MNNTransform.dir/source/geometry/GeometrySpatialProduct.cpp.o
[ 21%] Building CXX object CMakeFiles/MNNTransform.dir/source/geometry/GeometryStridedSlice.cpp.o
[ 21%] Building CXX object CMakeFiles/MNNTransform.dir/source/geometry/GeometryTensorArray.cpp.o
[ 21%] Building CXX object CMakeFiles/MNNTransform.dir/source/geometry/GeometryThreshold.cpp.o
[ 22%] Building CXX object CMakeFiles/MNNTransform.dir/source/geometry/GeometryTile.cpp.o
[ 22%] Building CXX object CMakeFiles/MNNTransform.dir/source/geometry/GeometryTopK.cpp.o
[ 22%] Building CXX object CMakeFiles/MNNTransform.dir/source/geometry/GeometryUnary.cpp.o
[ 23%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapeArgMax.cpp.o
[ 23%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapeBatchToSpaceND.cpp.o
[ 23%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapeBinaryOp.cpp.o
[ 24%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapeBroadcastTo.cpp.o
[ 24%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapeCast.cpp.o
[ 24%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapeConcat.cpp.o
[ 25%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapeConvTranspose3D.cpp.o
[ 25%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapeConvolution.cpp.o
[ 26%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapeConvolution3D.cpp.o
[ 26%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapeCosineSimilarity.cpp.o
[ 26%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapeCrop.cpp.o
[ 27%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapeCropAndResize.cpp.o
[ 27%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapeDeconvolution.cpp.o
[ 27%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapeDepthToSpace.cpp.o
[ 28%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapeDequantize.cpp.o
[ 28%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapeDet.cpp.o
[ 28%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapeDetectionOutput.cpp.o
[ 29%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapeDetectionPostProcess.cpp.o
[ 29%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapeExpandDims.cpp.o
[ 29%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapeFill.cpp.o
[ 30%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapeGatherND.cpp.o
[ 30%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapeGatherV2.cpp.o
[ 30%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapeGridSample.cpp.o
[ 31%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapeHistogram.cpp.o
[ 31%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapeInnerProduct.cpp.o
[ 31%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapeInterp.cpp.o
[ 32%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapeLSTM.cpp.o
[ 32%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapeLinSpace.cpp.o
[ 32%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapeMatMul.cpp.o
[ 33%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapeMoments.cpp.o
[ 33%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapeNonMaxSuppressionV2.cpp.o
[ 33%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapeOneHot.cpp.o
[ 34%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapePack.cpp.o
[ 34%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapePadding.cpp.o
[ 34%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapePermute.cpp.o
[ 35%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapePlugin.cpp.o
[ 35%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapePool.cpp.o
[ 36%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapePool3D.cpp.o
[ 36%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapePriorbox.cpp.o
[ 36%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapeProposal.cpp.o
[ 37%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapeQuantizedAvgPool.cpp.o
[ 37%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapeQuantizedMaxPool.cpp.o
[ 37%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapeRNNSequenceGRU.cpp.o
[ 38%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapeROIAlign.cpp.o
[ 38%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapeROIPooling.cpp.o
[ 38%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapeRandomUniform.cpp.o
[ 39%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapeRange.cpp.o
[ 39%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapeReduction.cpp.o
[ 39%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapeRegister.cpp.o
[ 40%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapeReshape.cpp.o
[ 40%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapeResize.cpp.o
[ 40%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapeScatterNd.cpp.o
[ 41%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapeSegmentMean.cpp.o
[ 41%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapeSelect.cpp.o
[ 41%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapeSetDiff1D.cpp.o
[ 42%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapeShape.cpp.o
[ 42%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapeSize.cpp.o
[ 42%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapeSlice.cpp.o
[ 43%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapeSliceTf.cpp.o
[ 43%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapeSpaceToBatchND.cpp.o
[ 43%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapeSpaceToDepth.cpp.o
[ 44%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapeSqueeze.cpp.o
[ 44%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapeStridedSlice.cpp.o
[ 44%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapeSvd.cpp.o
[ 45%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapeTensorArray.cpp.o
[ 45%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapeTensorConvert.cpp.o
[ 46%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapeTile.cpp.o
[ 46%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapeTopKV2.cpp.o
[ 46%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapeTranspose.cpp.o
[ 47%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapeUnique.cpp.o
[ 47%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapeUnpack.cpp.o
[ 47%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapeUnravelIndex.cpp.o
[ 48%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/ShapeWhere.cpp.o
[ 48%] Building CXX object CMakeFiles/MNNTransform.dir/source/shape/SizeComputer.cpp.o
[ 48%] Built target MNNTransform
[ 48%] Building CXX object CMakeFiles/MNNUtils.dir/source/utils/InitNet.cpp.o
[ 49%] Building CXX object CMakeFiles/MNNUtils.dir/source/utils/JNIHelper.cpp.o
[ 49%] Built target MNNUtils
[ 50%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUArgMax.cpp.o
[ 50%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUBackend.cpp.o
[ 50%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUBinary.cpp.o
[ 51%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUBinaryInt8.cpp.o
[ 51%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUCast.cpp.o
[ 52%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUConvolution.cpp.o
[ 52%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUConvolutionDepthwise.cpp.o
[ 52%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUCropAndResize.cpp.o
[ 53%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUDeconvolution.cpp.o
[ 53%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUDeconvolutionDepthwise.cpp.o
[ 53%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUDepthwiseConvInt8.cpp.o
[ 54%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUDequantize.cpp.o
[ 54%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUDet.cpp.o
[ 54%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUDetectionOutput.cpp.o
[ 55%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUDetectionPostProcess.cpp.o
[ 55%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUEltwise.cpp.o
[ 55%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUEltwiseInt8.cpp.o
[ 56%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUFloatToInt8.cpp.o
[ 56%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUGridSample.cpp.o
[ 56%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUHistogram.cpp.o
[ 57%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUImageProcess.cpp.o
In file included from /home/user/MNN-2.8.1/source/backend/cpu/CPUImageProcess.cpp:9:
In constructor ‘MNN::CPUImageProcess::CPUImageProcess(MNN::Backend*, const MNN::ImageProcessParam*)’,
    inlined from ‘virtual MNN::Execution* MNN::CPUImageProcessCreator::onCreate(const std::vector<MNN::Tensor*>&, const std::vector<MNN::Tensor*>&, const MNN::Op*, MNN::Backend*) const’ at /home/user/MNN-2.8.1/source/backend/cpu/CPUImageProcess.cpp:445:52:
/home/user/MNN-2.8.1/source/backend/cpu/CPUImageProcess.hpp:60:21: warning: ‘void* __builtin_memmove(void*, const void*, long unsigned int)’ reading 16 bytes from a region of size 0 [-Wstringop-overread]
   60 |             mean[i] = process->mean()->Get(i);
      |             ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
/home/user/MNN-2.8.1/source/backend/cpu/CPUImageProcess.hpp:61:23: warning: ‘void* __builtin_memmove(void*, const void*, long unsigned int)’ reading 16 bytes from a region of size 0 [-Wstringop-overread]
   61 |             normal[i] = process->normal()->Get(i);
      |             ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/user/MNN-2.8.1/source/backend/cpu/CPUImageProcess.hpp:61:23: warning: ‘void* __builtin_memmove(void*, const void*, long unsigned int)’ reading 16 bytes from a region of size 0 [-Wstringop-overread]
[ 57%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUInstanceNorm.cpp.o
[ 57%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUInt8ToFloat.cpp.o
[ 58%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUInterp.cpp.o
[ 58%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUInterp3D.cpp.o
[ 58%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPULayerNorm.cpp.o
[ 59%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPULinSpace.cpp.o
[ 59%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUMatMul.cpp.o
[ 59%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUMatrixBandPart.cpp.o
[ 60%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUMoments.cpp.o
[ 60%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUNonMaxSuppressionV2.cpp.o
[ 60%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUOPRegister.cpp.o
[ 61%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUOneHot.cpp.o
[ 61%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUPlugin.cpp.o
[ 62%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUPool.cpp.o
[ 62%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUPoolInt8.cpp.o
[ 62%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUProposal.cpp.o
[ 63%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUQuanConvolutionDepthwise.cpp.o
[ 63%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUQuantizedAdd.cpp.o
[ 63%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUQuantizedAvgPool.cpp.o
[ 64%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUQuantizedLogistic.cpp.o
[ 64%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUQuantizedMaxPool.cpp.o
[ 64%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUQuantizedSoftmax.cpp.o
[ 65%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPURNNSequenceGRU.cpp.o
[ 65%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUROIAlign.cpp.o
[ 65%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUROIPooling.cpp.o
[ 66%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPURandomUniform.cpp.o
[ 66%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPURange.cpp.o
[ 66%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPURaster.cpp.o
[ 67%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUReduction.cpp.o
[ 67%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPURelu.cpp.o
[ 67%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUResize.cpp.o
[ 68%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUResizeCache.cpp.o
[ 68%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPURuntime.cpp.o
[ 68%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUScale.cpp.o
[ 69%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUScaleInt8.cpp.o
[ 69%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUSegmentMean.cpp.o
[ 69%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUSelect.cpp.o
[ 70%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUSetDiff1D.cpp.o
[ 70%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUSoftMaxInt8.cpp.o
[ 70%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUSoftmax.cpp.o
[ 71%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUSvd.cpp.o
[ 71%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUTFQuantizedConv2D.cpp.o
[ 72%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUTensorConvert.cpp.o
[ 72%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUTopKV2.cpp.o
[ 72%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUUnary.cpp.o
[ 73%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUUnique.cpp.o
[ 73%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUUnravelIndex.cpp.o
[ 73%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUWhere.cpp.o
[ 74%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/OneDNNConvInt8.cpp.o
[ 74%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/OneDNNConvolution.cpp.o
[ 74%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/ThreadPool.cpp.o
[ 75%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/compute/CommonOptFunction.cpp.o
[ 75%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/compute/ConvInt8TiledExecutor.cpp.o
[ 75%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/compute/ConvInt8Winograd.cpp.o
[ 76%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/compute/ConvOpt.cpp.o
[ 76%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/compute/Convolution1x1Strassen.cpp.o
[ 76%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/compute/ConvolutionDepthwise3x3.cpp.o
[ 77%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/compute/ConvolutionFloatFactory.cpp.o
[ 77%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/compute/ConvolutionGroup.cpp.o
[ 77%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/compute/ConvolutionHybrid.cpp.o
[ 78%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/compute/ConvolutionIntFactory.cpp.o
[ 78%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/compute/ConvolutionPackFreeWinograd.cpp.o
[ 78%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/compute/ConvolutionPackWinograd.cpp.o
[ 79%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/compute/ConvolutionTiledExecutor.cpp.o
[ 79%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/compute/ConvolutionWinogradBridge.cpp.o
[ 79%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/compute/ConvolutionWinogradImpl.cpp.o
[ 80%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/compute/DeconvolutionWithStride.cpp.o
[ 80%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/compute/DenseConvolutionTiledExecutor.cpp.o
[ 80%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/compute/GemmInt8Executor.cpp.o
[ 81%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/compute/IdstConvolutionInt8.cpp.o
[ 81%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/compute/ImageProcessFunction.cpp.o
[ 82%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/compute/Int8FunctionsOpt.cpp.o
[ 82%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/compute/OptimizedComputer.cpp.o
[ 82%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/compute/ResizeFunction.cpp.o
[ 83%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/compute/SparseConvInt8TiledExecutor.cpp.o
[ 83%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/compute/SparseConvolutionTiledExecutor.cpp.o
[ 83%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/compute/StrassenMatmulComputor.cpp.o
[ 84%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/compute/WinogradOptFunction.cpp.o
[ 84%] Built target MNNCPU
[ 84%] Building CXX object CMakeFiles/MNNX8664.dir/source/backend/cpu/x86_x64/AVX2Backend.cpp.o
[ 84%] Building CXX object CMakeFiles/MNNX8664.dir/source/backend/cpu/x86_x64/AVX2Functions.cpp.o
[ 85%] Building CXX object CMakeFiles/MNNX8664.dir/source/backend/cpu/x86_x64/FunctionDispatcher.cpp.o
[ 85%] Building CXX object CMakeFiles/MNNX8664.dir/source/backend/cpu/x86_x64/cpu_id.cc.o
[ 85%] Built target MNNX8664
[ 86%] Building CXX object CMakeFiles/MNNAVX.dir/source/backend/cpu/x86_x64/avx/GemmAVX2.cpp.o
[ 86%] Building CXX object CMakeFiles/MNNAVX.dir/source/backend/cpu/x86_x64/avx/GemmCommon.cpp.o
[ 86%] Building CXX object CMakeFiles/MNNAVX.dir/source/backend/cpu/x86_x64/avx/GemmCommonBF16.cpp.o
[ 87%] Building CXX object CMakeFiles/MNNAVX.dir/source/backend/cpu/x86_x64/avx/GemmInt8.cpp.o
[ 87%] Building CXX object CMakeFiles/MNNAVX.dir/source/backend/cpu/x86_x64/avx/GemmSparse.cpp.o
[ 87%] Building CXX object CMakeFiles/MNNAVX.dir/source/backend/cpu/x86_x64/avx/MathFunctions.cpp.o
[ 88%] Building CXX object CMakeFiles/MNNAVX.dir/source/backend/cpu/x86_x64/avx/PackedFunction.cpp.o
[ 88%] Building CXX object CMakeFiles/MNNAVX.dir/source/backend/cpu/x86_x64/avx/ReorderFunctions.cpp.o
[ 88%] Building CXX object CMakeFiles/MNNAVX.dir/source/backend/cpu/x86_x64/avx/WinogradFunctions.cpp.o
[ 89%] Building ASM object CMakeFiles/MNNAVX.dir/source/backend/cpu/x86_x64/avx/_AVX_MNNPackedSparseMatMulEpx1EFMA_ASM.S.o
[ 89%] Building ASM object CMakeFiles/MNNAVX.dir/source/backend/cpu/x86_x64/avx/_AVX_MNNPackedSparseMatMulEpx4EFMA_ASM.S.o
[ 89%] Built target MNNAVX
[ 89%] Building CXX object CMakeFiles/MNNAVXFMA.dir/source/backend/cpu/x86_x64/avxfma/GemmAVX2FMA.cpp.o
[ 90%] Building CXX object CMakeFiles/MNNAVXFMA.dir/source/backend/cpu/x86_x64/avxfma/GemmAVX2FMABF16.cpp.o
[ 90%] Building CXX object CMakeFiles/MNNAVXFMA.dir/source/backend/cpu/x86_x64/avxfma/GemmSparseFMA.cpp.o
[ 90%] Building CXX object CMakeFiles/MNNAVXFMA.dir/source/backend/cpu/x86_x64/avxfma/MathFunctions.cpp.o
[ 91%] Building CXX object CMakeFiles/MNNAVXFMA.dir/source/backend/cpu/x86_x64/avxfma/PackedFunction.cpp.o
[ 91%] Building ASM object CMakeFiles/MNNAVXFMA.dir/source/backend/cpu/x86_x64/avxfma/_AVX_MNNGemmFloatUnitMainFMA.S.o
[ 91%] Building ASM object CMakeFiles/MNNAVXFMA.dir/source/backend/cpu/x86_x64/avxfma/_AVX_MNNGemmFloatUnitMainFMA6x16.S.o
[ 92%] Building ASM object CMakeFiles/MNNAVXFMA.dir/source/backend/cpu/x86_x64/avxfma/_AVX_MNNGemmFloatUnitMainFMA_Fused.S.o
[ 92%] Building ASM object CMakeFiles/MNNAVXFMA.dir/source/backend/cpu/x86_x64/avxfma/_AVX_MNNPackedSparseMatMulEpx1NFMA_ASM.S.o
[ 92%] Building ASM object CMakeFiles/MNNAVXFMA.dir/source/backend/cpu/x86_x64/avxfma/_AVX_MNNPackedSparseMatMulEpx4NFMA_ASM.S.o
[ 92%] Built target MNNAVXFMA
[ 92%] Building CXX object CMakeFiles/MNNSSE.dir/source/backend/cpu/x86_x64/sse/GemmCommon.cpp.o
[ 93%] Building CXX object CMakeFiles/MNNSSE.dir/source/backend/cpu/x86_x64/sse/GemmInt8.cpp.o
[ 93%] Building CXX object CMakeFiles/MNNSSE.dir/source/backend/cpu/x86_x64/sse/GemmSSE.cpp.o
[ 93%] Building CXX object CMakeFiles/MNNSSE.dir/source/backend/cpu/x86_x64/sse/ImageProcessFunction.cpp.o
[ 94%] Building CXX object CMakeFiles/MNNSSE.dir/source/backend/cpu/x86_x64/sse/MathFunctions.cpp.o
[ 94%] Building CXX object CMakeFiles/MNNSSE.dir/source/backend/cpu/x86_x64/sse/PackedFunction.cpp.o
[ 94%] Building CXX object CMakeFiles/MNNSSE.dir/source/backend/cpu/x86_x64/sse/ReorderFunctions.cpp.o
[ 94%] Built target MNNSSE
[ 94%] Building CXX object CMakeFiles/MNN_Plugin.dir/source/plugin/PluginKernel.cpp.o
[ 95%] Building CXX object CMakeFiles/MNN_Plugin.dir/source/plugin/PluginShapeInference.cpp.o
[ 95%] Built target MNN_Plugin
[ 95%] Building CXX object CMakeFiles/MNN.dir/cmake/dummy.cpp.o
[ 95%] Linking CXX shared library libMNN.so
[ 95%] Built target MNN
[ 95%] Building CXX object express/CMakeFiles/MNN_Express.dir/Executor.cpp.o
[ 96%] Building CXX object express/CMakeFiles/MNN_Express.dir/ExecutorScope.cpp.o
[ 96%] Building CXX object express/CMakeFiles/MNN_Express.dir/Expr.cpp.o
/home/user/MNN-2.8.1/express/Expr.cpp: In static member function ‘static void MNN::Express::Variable::save(const std::vector<MNN::Express::VARP>&, MNN::NetT*)’:
/home/user/MNN-2.8.1/express/Expr.cpp:29:24: warning: ‘__builtin___snprintf_chk’ output may be truncated before the last format character [-Wformat-truncation=]
   29 |     snprintf(s, 10, "%d", index);
      |                        ^
In file included from /usr/include/stdio.h:894,
                 from /usr/include/c++/11/cstdio:42,
                 from /usr/include/c++/11/ext/string_conversions.h:43,
                 from /usr/include/c++/11/bits/basic_string.h:6608,
                 from /usr/include/c++/11/string:55,
                 from /home/user/MNN-2.8.1/include/MNN/expr/Expr.hpp:13,
                 from /home/user/MNN-2.8.1/express/Expr.cpp:10:
/usr/include/x86_64-linux-gnu/bits/stdio2.h:71:35: note: ‘__builtin___snprintf_chk’ output between 2 and 11 bytes into a destination of size 10
   71 |   return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
      |          ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   72 |                                    __glibc_objsize (__s), __fmt,
      |                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   73 |                                    __va_arg_pack ());
      |                                    ~~~~~~~~~~~~~~~~~
[ 96%] Building CXX object express/CMakeFiles/MNN_Express.dir/MathOp.cpp.o
[ 97%] Building CXX object express/CMakeFiles/MNN_Express.dir/NeuralNetWorkOp.cpp.o
[ 97%] Building CXX object express/CMakeFiles/MNN_Express.dir/Optimizer.cpp.o
[ 97%] Building CXX object express/CMakeFiles/MNN_Express.dir/Utils.cpp.o
[ 98%] Building CXX object express/CMakeFiles/MNN_Express.dir/module/IfModule.cpp.o
[ 98%] Building CXX object express/CMakeFiles/MNN_Express.dir/module/Module.cpp.o
[ 98%] Building CXX object express/CMakeFiles/MNN_Express.dir/module/NMSModule.cpp.o
[ 99%] Building CXX object express/CMakeFiles/MNN_Express.dir/module/PipelineModule.cpp.o
[ 99%] Building CXX object express/CMakeFiles/MNN_Express.dir/module/StaticModule.cpp.o
[ 99%] Building CXX object express/CMakeFiles/MNN_Express.dir/module/WhileModule.cpp.o
[100%] Linking CXX shared library libMNN_Express.so
[100%] Built target MNN_Express

v1.0.1

> sed -i -e "s/\/\/  MNN/#include <limits>/g" source/backend/cpu/x86_x64/sse/CommonOptFunction.cpp
> ./schema/generate.sh
*** building flatc ***
CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required):
  Compatibility with CMake < 3.5 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.


-- The C compiler identification is GNU 11.4.0
-- The CXX compiler identification is GNU 11.4.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Looking for strtof_l
-- Looking for strtof_l - found
fatal: not a git repository (or any of the parent directories): .git
-- Configuring done (0.2s)
-- Generating done (0.0s)
-- Build files have been written to: /home/user/MNN-1.0.1/3rd_party/flatbuffers/tmp
[  4%] Building CXX object CMakeFiles/flatc.dir/src/code_generators.cpp.o
[  8%] Building CXX object CMakeFiles/flatc.dir/src/idl_parser.cpp.o
[ 12%] Building CXX object CMakeFiles/flatc.dir/src/idl_gen_text.cpp.o
[ 16%] Building CXX object CMakeFiles/flatc.dir/src/reflection.cpp.o
[ 20%] Building CXX object CMakeFiles/flatc.dir/src/util.cpp.o
[ 25%] Building CXX object CMakeFiles/flatc.dir/src/idl_gen_cpp.cpp.o
[ 29%] Building CXX object CMakeFiles/flatc.dir/src/idl_gen_dart.cpp.o
[ 33%] Building CXX object CMakeFiles/flatc.dir/src/idl_gen_general.cpp.o
[ 37%] Building CXX object CMakeFiles/flatc.dir/src/idl_gen_go.cpp.o
[ 41%] Building CXX object CMakeFiles/flatc.dir/src/idl_gen_js_ts.cpp.o
[ 45%] Building CXX object CMakeFiles/flatc.dir/src/idl_gen_php.cpp.o
[ 50%] Building CXX object CMakeFiles/flatc.dir/src/idl_gen_python.cpp.o
[ 54%] Building CXX object CMakeFiles/flatc.dir/src/idl_gen_lobster.cpp.o
[ 58%] Building CXX object CMakeFiles/flatc.dir/src/idl_gen_lua.cpp.o
[ 62%] Building CXX object CMakeFiles/flatc.dir/src/idl_gen_rust.cpp.o
[ 66%] Building CXX object CMakeFiles/flatc.dir/src/idl_gen_fbs.cpp.o
[ 70%] Building CXX object CMakeFiles/flatc.dir/src/idl_gen_grpc.cpp.o
[ 75%] Building CXX object CMakeFiles/flatc.dir/src/idl_gen_json_schema.cpp.o
[ 79%] Building CXX object CMakeFiles/flatc.dir/src/flatc.cpp.o
[ 83%] Building CXX object CMakeFiles/flatc.dir/src/flatc_main.cpp.o
[ 87%] Building CXX object CMakeFiles/flatc.dir/grpc/src/compiler/cpp_generator.cc.o
[ 91%] Building CXX object CMakeFiles/flatc.dir/grpc/src/compiler/go_generator.cc.o
[ 95%] Building CXX object CMakeFiles/flatc.dir/grpc/src/compiler/java_generator.cc.o
[100%] Linking CXX executable flatc
[100%] Built target flatc
*** cleaning up ***
*** generating fbs under default ***
*** done ***

> make

[  0%] Building CXX object CMakeFiles/MNNCore.dir/source/core/AutoTime.cpp.o
[  1%] Building CXX object CMakeFiles/MNNCore.dir/source/core/Backend.cpp.o
[  1%] Building CXX object CMakeFiles/MNNCore.dir/source/core/BackendFactory.cpp.o
[  1%] Building CXX object CMakeFiles/MNNCore.dir/source/core/BackendRegister.cpp.o
[  2%] Building CXX object CMakeFiles/MNNCore.dir/source/core/BufferAllocator.cpp.o
[  2%] Building CXX object CMakeFiles/MNNCore.dir/source/core/ConvolutionCommon.cpp.o
[  3%] Building CXX object CMakeFiles/MNNCore.dir/source/core/Execution.cpp.o
[  3%] Building CXX object CMakeFiles/MNNCore.dir/source/core/FileLoader.cpp.o
[  3%] Building CXX object CMakeFiles/MNNCore.dir/source/core/Interpreter.cpp.o
[  4%] Building CXX object CMakeFiles/MNNCore.dir/source/core/MNNMemoryUtils.cpp.o
[  4%] Building CXX object CMakeFiles/MNNCore.dir/source/core/OpCommonUtils.cpp.o
[  5%] Building CXX object CMakeFiles/MNNCore.dir/source/core/Pipeline.cpp.o
[  5%] Building CXX object CMakeFiles/MNNCore.dir/source/core/Schedule.cpp.o
[  5%] Building CXX object CMakeFiles/MNNCore.dir/source/core/Session.cpp.o
[  6%] Building CXX object CMakeFiles/MNNCore.dir/source/core/SizeComputer.cpp.o
[  6%] Building CXX object CMakeFiles/MNNCore.dir/source/core/Tensor.cpp.o
[  7%] Building CXX object CMakeFiles/MNNCore.dir/source/core/TensorUtils.cpp.o
[  7%] Building CXX object CMakeFiles/MNNCore.dir/source/core/WrapExecution.cpp.o
[  7%] Built target MNNCore
[  7%] Building CXX object CMakeFiles/MNNCV.dir/source/cv/ImageBlitter.cpp.o
[  8%] Building CXX object CMakeFiles/MNNCV.dir/source/cv/ImageFloatBlitter.cpp.o
[  8%] Building CXX object CMakeFiles/MNNCV.dir/source/cv/ImageProcess.cpp.o
[  9%] Building CXX object CMakeFiles/MNNCV.dir/source/cv/ImageSampler.cpp.o
[  9%] Building CXX object CMakeFiles/MNNCV.dir/source/cv/Matrix_CV.cpp.o
[  9%] Built target MNNCV
[  9%] Building CXX object CMakeFiles/MNNMath.dir/source/math/Matrix.cpp.o
[ 10%] Building CXX object CMakeFiles/MNNMath.dir/source/math/WingoradGenerater.cpp.o
[ 10%] Built target MNNMath
[ 11%] Building CXX object CMakeFiles/MNNShape.dir/source/shape/ShapeArgMax.cpp.o
[ 11%] Building CXX object CMakeFiles/MNNShape.dir/source/shape/ShapeAsString.cpp.o
[ 12%] Building CXX object CMakeFiles/MNNShape.dir/source/shape/ShapeBatchMatMul.cpp.o
[ 12%] Building CXX object CMakeFiles/MNNShape.dir/source/shape/ShapeBatchToSpaceND.cpp.o
[ 13%] Building CXX object CMakeFiles/MNNShape.dir/source/shape/ShapeBinaryOp.cpp.o
[ 13%] Building CXX object CMakeFiles/MNNShape.dir/source/shape/ShapeBroadcastTo.cpp.o
[ 13%] Building CXX object CMakeFiles/MNNShape.dir/source/shape/ShapeCast.cpp.o
[ 14%] Building CXX object CMakeFiles/MNNShape.dir/source/shape/ShapeConcat.cpp.o
[ 14%] Building CXX object CMakeFiles/MNNShape.dir/source/shape/ShapeConst.cpp.o
[ 15%] Building CXX object CMakeFiles/MNNShape.dir/source/shape/ShapeConvolution.cpp.o
[ 15%] Building CXX object CMakeFiles/MNNShape.dir/source/shape/ShapeConvolution3D.cpp.o
[ 15%] Building CXX object CMakeFiles/MNNShape.dir/source/shape/ShapeCosineSimilarity.cpp.o
[ 16%] Building CXX object CMakeFiles/MNNShape.dir/source/shape/ShapeCrop.cpp.o
[ 16%] Building CXX object CMakeFiles/MNNShape.dir/source/shape/ShapeCropAndResize.cpp.o
[ 17%] Building CXX object CMakeFiles/MNNShape.dir/source/shape/ShapeDeconvolution.cpp.o
[ 17%] Building CXX object CMakeFiles/MNNShape.dir/source/shape/ShapeDepthToSpace.cpp.o
[ 17%] Building CXX object CMakeFiles/MNNShape.dir/source/shape/ShapeDequantize.cpp.o
[ 18%] Building CXX object CMakeFiles/MNNShape.dir/source/shape/ShapeDetectionOutput.cpp.o
[ 18%] Building CXX object CMakeFiles/MNNShape.dir/source/shape/ShapeDetectionPostProcess.cpp.o
[ 19%] Building CXX object CMakeFiles/MNNShape.dir/source/shape/ShapeEltwise.cpp.o
[ 19%] Building CXX object CMakeFiles/MNNShape.dir/source/shape/ShapeExpandDims.cpp.o
[ 19%] Building CXX object CMakeFiles/MNNShape.dir/source/shape/ShapeFill.cpp.o
[ 20%] Building CXX object CMakeFiles/MNNShape.dir/source/shape/ShapeGather.cpp.o
[ 20%] Building CXX object CMakeFiles/MNNShape.dir/source/shape/ShapeGatherND.cpp.o
[ 21%] Building CXX object CMakeFiles/MNNShape.dir/source/shape/ShapeGatherV2.cpp.o
[ 21%] Building CXX object CMakeFiles/MNNShape.dir/source/shape/ShapeInnerProduct.cpp.o
[ 21%] Building CXX object CMakeFiles/MNNShape.dir/source/shape/ShapeInterp.cpp.o
[ 22%] Building CXX object CMakeFiles/MNNShape.dir/source/shape/ShapeLSTM.cpp.o
[ 22%] Building CXX object CMakeFiles/MNNShape.dir/source/shape/ShapeLinSpace.cpp.o
[ 23%] Building CXX object CMakeFiles/MNNShape.dir/source/shape/ShapeMatMul.cpp.o
[ 23%] Building CXX object CMakeFiles/MNNShape.dir/source/shape/ShapeMoments.cpp.o
[ 23%] Building CXX object CMakeFiles/MNNShape.dir/source/shape/ShapeNonMaxSuppressionV2.cpp.o
[ 24%] Building CXX object CMakeFiles/MNNShape.dir/source/shape/ShapeOneHot.cpp.o
[ 24%] Building CXX object CMakeFiles/MNNShape.dir/source/shape/ShapePack.cpp.o
[ 25%] Building CXX object CMakeFiles/MNNShape.dir/source/shape/ShapePadding.cpp.o
[ 25%] Building CXX object CMakeFiles/MNNShape.dir/source/shape/ShapePermute.cpp.o
[ 25%] Building CXX object CMakeFiles/MNNShape.dir/source/shape/ShapePlugin.cpp.o
[ 26%] Building CXX object CMakeFiles/MNNShape.dir/source/shape/ShapePool.cpp.o
[ 26%] Building CXX object CMakeFiles/MNNShape.dir/source/shape/ShapePool3D.cpp.o
[ 27%] Building CXX object CMakeFiles/MNNShape.dir/source/shape/ShapePriorbox.cpp.o
[ 27%] Building CXX object CMakeFiles/MNNShape.dir/source/shape/ShapeProposal.cpp.o
[ 27%] Building CXX object CMakeFiles/MNNShape.dir/source/shape/ShapeQuantizedAvgPool.cpp.o
[ 28%] Building CXX object CMakeFiles/MNNShape.dir/source/shape/ShapeQuantizedMaxPool.cpp.o
[ 28%] Building CXX object CMakeFiles/MNNShape.dir/source/shape/ShapeQuantizedReshape.cpp.o
[ 29%] Building CXX object CMakeFiles/MNNShape.dir/source/shape/ShapeRNNSequenceGRU.cpp.o
[ 29%] Building CXX object CMakeFiles/MNNShape.dir/source/shape/ShapeROIPooling.cpp.o
[ 30%] Building CXX object CMakeFiles/MNNShape.dir/source/shape/ShapeRange.cpp.o
[ 30%] Building CXX object CMakeFiles/MNNShape.dir/source/shape/ShapeRank.cpp.o
[ 30%] Building CXX object CMakeFiles/MNNShape.dir/source/shape/ShapeReduceJoin.cpp.o
[ 31%] Building CXX object CMakeFiles/MNNShape.dir/source/shape/ShapeReduction.cpp.o
[ 31%] Building CXX object CMakeFiles/MNNShape.dir/source/shape/ShapeRegister.cpp.o
[ 32%] Building CXX object CMakeFiles/MNNShape.dir/source/shape/ShapeReshape.cpp.o
[ 32%] Building CXX object CMakeFiles/MNNShape.dir/source/shape/ShapeResize.cpp.o
[ 32%] Building CXX object CMakeFiles/MNNShape.dir/source/shape/ShapeScatterNd.cpp.o
[ 33%] Building CXX object CMakeFiles/MNNShape.dir/source/shape/ShapeSelect.cpp.o
[ 33%] Building CXX object CMakeFiles/MNNShape.dir/source/shape/ShapeShape.cpp.o
[ 34%] Building CXX object CMakeFiles/MNNShape.dir/source/shape/ShapeSize.cpp.o
[ 34%] Building CXX object CMakeFiles/MNNShape.dir/source/shape/ShapeSlice.cpp.o
[ 34%] Building CXX object CMakeFiles/MNNShape.dir/source/shape/ShapeSliceTf.cpp.o
[ 35%] Building CXX object CMakeFiles/MNNShape.dir/source/shape/ShapeSpaceToBatchND.cpp.o
[ 35%] Building CXX object CMakeFiles/MNNShape.dir/source/shape/ShapeSpaceToDepth.cpp.o
[ 36%] Building CXX object CMakeFiles/MNNShape.dir/source/shape/ShapeSqueeze.cpp.o
[ 36%] Building CXX object CMakeFiles/MNNShape.dir/source/shape/ShapeStridedSlice.cpp.o
[ 36%] Building CXX object CMakeFiles/MNNShape.dir/source/shape/ShapeTFQuantizedConv2D.cpp.o
[ 37%] Building CXX object CMakeFiles/MNNShape.dir/source/shape/ShapeTensorConvert.cpp.o
[ 37%] Building CXX object CMakeFiles/MNNShape.dir/source/shape/ShapeTile.cpp.o
[ 38%] Building CXX object CMakeFiles/MNNShape.dir/source/shape/ShapeTopKV2.cpp.o
[ 38%] Building CXX object CMakeFiles/MNNShape.dir/source/shape/ShapeTranspose.cpp.o
[ 38%] Building CXX object CMakeFiles/MNNShape.dir/source/shape/ShapeUnpack.cpp.o
[ 39%] Building CXX object CMakeFiles/MNNShape.dir/source/shape/ShapeUnravelIndex.cpp.o
[ 39%] Building CXX object CMakeFiles/MNNShape.dir/source/shape/ShapeWhere.cpp.o
[ 39%] Built target MNNShape
[ 39%] Building CXX object CMakeFiles/MNNCompute.dir/source/backend/cpu/compute/BlstmComputer.cpp.o
[ 40%] Building CXX object CMakeFiles/MNNCompute.dir/source/backend/cpu/compute/CommonOptFunction.cpp.o
[ 40%] Building CXX object CMakeFiles/MNNCompute.dir/source/backend/cpu/compute/ConvOpt.cpp.o
[ 41%] Building CXX object CMakeFiles/MNNCompute.dir/source/backend/cpu/compute/Convolution1x1Strassen.cpp.o
[ 41%] Building CXX object CMakeFiles/MNNCompute.dir/source/backend/cpu/compute/Convolution3D3x3.cpp.o
[ 42%] Building CXX object CMakeFiles/MNNCompute.dir/source/backend/cpu/compute/ConvolutionDepthwise3x3.cpp.o
[ 42%] Building CXX object CMakeFiles/MNNCompute.dir/source/backend/cpu/compute/ConvolutionFloatFactory.cpp.o
[ 42%] Building CXX object CMakeFiles/MNNCompute.dir/source/backend/cpu/compute/ConvolutionGroup.cpp.o
[ 43%] Building CXX object CMakeFiles/MNNCompute.dir/source/backend/cpu/compute/ConvolutionInt8Executor.cpp.o
[ 43%] Building CXX object CMakeFiles/MNNCompute.dir/source/backend/cpu/compute/ConvolutionIntFactory.cpp.o
[ 44%] Building CXX object CMakeFiles/MNNCompute.dir/source/backend/cpu/compute/ConvolutionTiledExecutor.cpp.o
[ 44%] Building CXX object CMakeFiles/MNNCompute.dir/source/backend/cpu/compute/ConvolutionWinograd.cpp.o
[ 44%] Building CXX object CMakeFiles/MNNCompute.dir/source/backend/cpu/compute/ConvolutionWinograd3D.cpp.o
[ 45%] Building CXX object CMakeFiles/MNNCompute.dir/source/backend/cpu/compute/DeconvolutionWithStride.cpp.o
[ 45%] Building CXX object CMakeFiles/MNNCompute.dir/source/backend/cpu/compute/Int8FunctionsOpt.cpp.o
[ 46%] Building CXX object CMakeFiles/MNNCompute.dir/source/backend/cpu/compute/OptimizedComputer.cpp.o
[ 46%] Building CXX object CMakeFiles/MNNCompute.dir/source/backend/cpu/compute/ResizeFunction.cpp.o
[ 46%] Building CXX object CMakeFiles/MNNCompute.dir/source/backend/cpu/compute/StrassenMatmulComputor.cpp.o
[ 47%] Building CXX object CMakeFiles/MNNCompute.dir/source/backend/cpu/compute/WinogradOptFunction.cpp.o
[ 47%] Built target MNNCompute
[ 48%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUArgMax.cpp.o
[ 48%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUAsString.cpp.o
/home/user/MNN-1.0.1/source/backend/cpu/CPUAsString.cpp: In member function ‘virtual MNN::ErrorCode MNN::AsStringExecutor::onExecute(const std::vector<MNN::Tensor*>&, const std::vector<MNN::Tensor*>&)’:
/home/user/MNN-1.0.1/source/backend/cpu/CPUAsString.cpp:20:39: warning: ‘__builtin___snprintf_chk’ output may be truncated before the last format character [-Wformat-truncation=]
   20 |     snprintf(result, INT_CAPACITY, "%d", number);
      |                                       ^
In file included from /usr/include/stdio.h:894,
                 from /home/user/MNN-1.0.1/source/backend/cpu/CPUBackend.hpp:12,
                 from /home/user/MNN-1.0.1/source/backend/cpu/CPUAsString.hpp:12,
                 from /home/user/MNN-1.0.1/source/backend/cpu/CPUAsString.cpp:9:
/usr/include/x86_64-linux-gnu/bits/stdio2.h:71:35: note: ‘__builtin___snprintf_chk’ output between 2 and 11 bytes into a destination of size 10
   71 |   return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
      |          ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   72 |                                    __glibc_objsize (__s), __fmt,
      |                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   73 |                                    __va_arg_pack ());
      |                                    ~~~~~~~~~~~~~~~~~
/home/user/MNN-1.0.1/source/backend/cpu/CPUAsString.cpp:20:39: warning: ‘__builtin___snprintf_chk’ output may be truncated before the last format character [-Wformat-truncation=]
   20 |     snprintf(result, INT_CAPACITY, "%d", number);
      |                                       ^
In file included from /usr/include/stdio.h:894,
                 from /home/user/MNN-1.0.1/source/backend/cpu/CPUBackend.hpp:12,
                 from /home/user/MNN-1.0.1/source/backend/cpu/CPUAsString.hpp:12,
                 from /home/user/MNN-1.0.1/source/backend/cpu/CPUAsString.cpp:9:
/usr/include/x86_64-linux-gnu/bits/stdio2.h:71:35: note: ‘__builtin___snprintf_chk’ output between 2 and 11 bytes into a destination of size 10
   71 |   return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
      |          ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   72 |                                    __glibc_objsize (__s), __fmt,
      |                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   73 |                                    __va_arg_pack ());
      |                                    ~~~~~~~~~~~~~~~~~
[ 49%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUBackend.cpp.o
[ 49%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUBatchMatMul.cpp.o
[ 49%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUBatchToSpaceND.cpp.o
[ 50%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUBinary.cpp.o
[ 50%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUBroadcastTo.cpp.o
[ 51%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUCast.cpp.o
[ 51%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUConcat.cpp.o
[ 51%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUConst.cpp.o
[ 52%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUConv2DBackPropFilter.cpp.o
[ 52%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUConvInt8.cpp.o
[ 53%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUConvolution.cpp.o
[ 53%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUConvolution3D.cpp.o
[ 53%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUConvolutionDepthwise.cpp.o
[ 54%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUCosineSimilarity.cpp.o
[ 54%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUCrop.cpp.o
[ 55%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUCropAndResize.cpp.o
[ 55%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUDeconvolution.cpp.o
[ 55%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUDeconvolutionDepthwise.cpp.o
[ 56%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUDepthToSpace.cpp.o
[ 56%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUDepthwiseConvInt8.cpp.o
[ 57%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUDequantize.cpp.o
[ 57%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUDetectionOutput.cpp.o
[ 57%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUDetectionPostProcess.cpp.o
[ 58%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUDilation2D.cpp.o
[ 58%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUEltwise.cpp.o
[ 59%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUEltwiseInt8.cpp.o
[ 59%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUElu.cpp.o
[ 59%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUExpandDims.cpp.o
[ 60%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUFill.cpp.o
[ 60%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUFloatToInt8.cpp.o
[ 61%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUGather.cpp.o
[ 61%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUGatherND.cpp.o
[ 62%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUGatherV2.cpp.o
[ 62%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUInnerProduct.cpp.o
[ 62%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUInstanceNorm.cpp.o
[ 63%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUInt8ToFloat.cpp.o
[ 63%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUInterp.cpp.o
[ 64%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPULRN.cpp.o
[ 64%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPULSTM.cpp.o
[ 64%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPULinSpace.cpp.o
[ 65%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUMatMul.cpp.o
[ 65%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUMatrixBandPart.cpp.o
[ 66%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUMoments.cpp.o
[ 66%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUNonMaxSuppressionV2.cpp.o
[ 66%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUNormalize.cpp.o
[ 67%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUOPRegister.cpp.o
[ 67%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUOneHot.cpp.o
[ 68%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUPack.cpp.o
[ 68%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUPadding.cpp.o
[ 68%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUPermute.cpp.o
[ 69%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUPlugin.cpp.o
[ 69%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUPool.cpp.o
[ 70%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUPoolGrad.cpp.o
[ 70%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUPoolInt8.cpp.o
[ 70%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUPriorbox.cpp.o
[ 71%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUProposal.cpp.o
[ 71%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUQuanConvolutionDepthwise.cpp.o
[ 72%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUQuantizedAdd.cpp.o
[ 72%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUQuantizedAvgPool.cpp.o
[ 72%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUQuantizedConcat.cpp.o
[ 73%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUQuantizedLogistic.cpp.o
[ 73%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUQuantizedMaxPool.cpp.o
[ 74%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUQuantizedReshape.cpp.o
[ 74%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUQuantizedSoftmax.cpp.o
[ 74%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPURNNSequenceGRU.cpp.o
[ 75%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUROIPooling.cpp.o
[ 75%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPURange.cpp.o
[ 76%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPURank.cpp.o
[ 76%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUReduceJoin.cpp.o
[ 76%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUReduction.cpp.o
[ 77%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPURelu.cpp.o
[ 77%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUReluGrad.cpp.o
[ 78%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUReshape.cpp.o
[ 78%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUResize.cpp.o
[ 79%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUReverseSequence.cpp.o
[ 79%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPURuntime.cpp.o
[ 79%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUScale.cpp.o
[ 80%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUScatterNd.cpp.o
[ 80%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUSelect.cpp.o
[ 81%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUSelu.cpp.o
[ 81%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUSetDiff1D.cpp.o
[ 81%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUShape.cpp.o
[ 82%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUSigmoid.cpp.o
[ 82%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUSize.cpp.o
[ 83%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUSlice.cpp.o
[ 83%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUSliceTf.cpp.o
[ 83%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUSoftmax.cpp.o
[ 84%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUSoftmaxGrad.cpp.o
[ 84%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUSpaceToBatchND.cpp.o
[ 85%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUSpaceToDepth.cpp.o
[ 85%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUSpatialProduct.cpp.o
[ 85%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUSqueeze.cpp.o
[ 86%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUStridedSlice.cpp.o
[ 86%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUTFQuantizedConv2D.cpp.o
[ 87%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUTanh.cpp.o
[ 87%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUTensorConvert.cpp.o
[ 87%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUThreshold.cpp.o
[ 88%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUTile.cpp.o
[ 88%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUTopKV2.cpp.o
[ 89%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUTranspose.cpp.o
[ 89%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUUnary.cpp.o
[ 89%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUUnpack.cpp.o
[ 90%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUUnravelIndex.cpp.o
[ 90%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUWhere.cpp.o
[ 91%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/CPUZeroLike.cpp.o
[ 91%] Building CXX object CMakeFiles/MNNCPU.dir/source/backend/cpu/ThreadPool.cpp.o
[ 91%] Built target MNNCPU
[ 91%] Building CXX object CMakeFiles/MNNSSE.dir/source/backend/cpu/x86_x64/sse/CommonOptFunction.cpp.o
[ 92%] Building CXX object CMakeFiles/MNNSSE.dir/source/backend/cpu/x86_x64/sse/MNNGemmFloatCommon_4.cpp.o
[ 92%] Building CXX object CMakeFiles/MNNSSE.dir/source/backend/cpu/x86_x64/sse/MNNMatrixAdd.cpp.o
[ 92%] Building CXX object CMakeFiles/MNNSSE.dir/source/backend/cpu/x86_x64/sse/MNNMatrixSub.cpp.o
[ 92%] Built target MNNSSE
[ 92%] Building CXX object CMakeFiles/MNNAVX.dir/source/backend/cpu/x86_x64/avx/CommonOptFunction.cpp.o
[ 93%] Building CXX object CMakeFiles/MNNAVX.dir/source/backend/cpu/x86_x64/avx/MNNGemmFloatCommon_4.cpp.o
[ 93%] Building CXX object CMakeFiles/MNNAVX.dir/source/backend/cpu/x86_x64/avx/MNNMatrixAdd.cpp.o
[ 93%] Building CXX object CMakeFiles/MNNAVX.dir/source/backend/cpu/x86_x64/avx/MNNMatrixSub.cpp.o
[ 93%] Built target MNNAVX
[ 94%] Building CXX object CMakeFiles/MNNX8664.dir/source/backend/cpu/x86_x64/FunctionDispatcher.cpp.o
[ 94%] Building CXX object CMakeFiles/MNNX8664.dir/source/backend/cpu/x86_x64/cpu_id.cc.o
[ 94%] Built target MNNX8664
[ 95%] Building CXX object CMakeFiles/MNN_Plugin.dir/source/plugin/PluginKernel.cpp.o
[ 95%] Building CXX object CMakeFiles/MNN_Plugin.dir/source/plugin/PluginShapeInference.cpp.o
[ 96%] Linking CXX shared library libMNN_Plugin.so
[ 96%] Built target MNN_Plugin
[ 96%] Generating Version Control Info
-- Found Git: /usr/bin/git (found version "2.34.1") 
[ 96%] Built target GenVCSHDR
[ 96%] Building CXX object CMakeFiles/MNN.dir/cmake/dummy.cpp.o
[ 97%] Linking CXX shared library libMNN.so
[ 97%] Built target MNN
[ 97%] Building CXX object express/CMakeFiles/MNN_Express.dir/Executor.cpp.o
[ 98%] Building CXX object express/CMakeFiles/MNN_Express.dir/Expr.cpp.o
/home/user/MNN-1.0.1/express/Expr.cpp: In static member function ‘static void MNN::Express::Variable::save(const std::vector<MNN::Express::VARP>&, MNN::NetT*)’:
/home/user/MNN-1.0.1/express/Expr.cpp:24:24: warning: ‘__builtin___snprintf_chk’ output may be truncated before the last format character [-Wformat-truncation=]
   24 |     snprintf(s, 10, "%d", index);
      |                        ^
In file included from /usr/include/stdio.h:894,
                 from /usr/include/c++/11/cstdio:42,
                 from /usr/include/c++/11/ext/string_conversions.h:43,
                 from /usr/include/c++/11/bits/basic_string.h:6608,
                 from /usr/include/c++/11/string:55,
                 from /home/user/MNN-1.0.1/include/MNN/expr/Expr.hpp:14,
                 from /home/user/MNN-1.0.1/express/Expr.cpp:10:
/usr/include/x86_64-linux-gnu/bits/stdio2.h:71:35: note: ‘__builtin___snprintf_chk’ output between 2 and 11 bytes into a destination of size 10
   71 |   return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
      |          ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   72 |                                    __glibc_objsize (__s), __fmt,
      |                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   73 |                                    __va_arg_pack ());
      |                                    ~~~~~~~~~~~~~~~~~
[ 98%] Building CXX object express/CMakeFiles/MNN_Express.dir/MathOp.cpp.o
[ 99%] Building CXX object express/CMakeFiles/MNN_Express.dir/MergeOptimizer.cpp.o
[ 99%] Building CXX object express/CMakeFiles/MNN_Express.dir/NeuralNetWorkOp.cpp.o
[ 99%] Building CXX object express/CMakeFiles/MNN_Express.dir/Optimizer.cpp.o
[100%] Building CXX object express/CMakeFiles/MNN_Express.dir/Utils.cpp.o
[100%] Linking CXX shared library libMNN_Express.so
[100%] Built target MNN_Express
@h6197627
Copy link
Author

I also just have tried to link my sample code with official MNN pre-built libraries Android v1.0.0 and Android v2.8.1 and got the same 2x RAM difference between versions with the same ResNet100 model

@jxt1234
Copy link
Collaborator

jxt1234 commented Feb 20, 2024

If may be caused by 2.8.1 use large winograd unit than 1.0.1.
You can print the unit in function bestWinogradUnit [ source/backend/cpu/compute/ConvolutionWinogradBridge.cpp ]

@jxt1234 jxt1234 added the bug Something isn't working label Feb 20, 2024
@h6197627
Copy link
Author

Hi, @jxt1234
Well I think it is not a bug actually.
I debugged as you suggested and it turned out that 1.0.1 successfully checks ConvolutionWinograd::canUseWinograd but later code has additional check cpuBackend->memoryMode() == BackendConfig::Memory_Low (and in my code I have backend_config.memory = MNN::BackendConfig::Memory_Low;) that chooses ConvolutionTiledExecutor algorithm.

After changing my code to backend_config.memory = MNN::BackendConfig::Memory_Normal; it chooses Winograd algorithm and the memory usage becomes almost identical (for sample model that I uploaded 1664K vs 1672K)

2.8.1 just does not have that check cpuBackend->memoryMode() == BackendConfig::Memory_Low that rejects Winograd algorithm.
So, probably, this issue can be closed

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants