armnn icon indicating copy to clipboard operation
armnn copied to clipboard

Profiler service warnings seen in ArmNN v24.02

Open aymanchaudhry opened this issue 2 years ago • 3 comments

Hi, On ArmNN v24.02, I am currently seeing the below profiler warnings when using ExecuteNetwork from the pre-built ArmNN binaries found in the release assets:

~/armnn-prebuilt-2402# LD_LIBRARY_PATH=. ./ExecuteNetwork -c CpuAcc -a -m ~/mobilenet_v1_1.0_224_quant.tflite
Warning: No input files provided, input tensors will be filled with 0s.
Info: ArmNN v33.1.0
Warning: An error has occurred when creating the profiling connection [SocketProfilingConnection: Cannot connect to stream socket: Connection refused] on socket [0].
Warning: Timed out waiting on profiling service activation for 3000.09 ms
Info: Initialization time: 3053.97 ms.
Info: Optimization time: 35.59 ms

Warning: The input data was generated, note that the output will not be useful
===== Network Info =====
Inputs in order:
input, [1,224,224,3], QAsymmU8 Quantization Offset: 128 Quantization scale: 0.0078125
Outputs in order:
MobilenetV1/Predictions/Reshape_1, [1,1001], QAsymmU8 Quantization Offset: 0 Quantization scale: 0.00390625

Info: Inferences began at: 1600598709755494075 ns

Info: Execution time: 240.29 ms.
MobilenetV1/Predictions/Reshape_1: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 23 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 0 1 0 0 3 0 0 0 0 0 0 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 11 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1
Info: Inference time: 240.40 ms

Info: Inferences ended at: 1600598709996610784 ns

Info: Shutdown time: 14.77 ms.

I was also able to see this when I built ArmNN v24.02 using CMake for both UnitTests and ExecuteNetwork when profiling.

[Steps to replicate]:

  • Download the following package (https://github.com/ARM-software/armnn/releases/download/v24.02/ArmNN-linux-aarch64.tar.gz)
  • Extract it on the platform to test.
  • Run ExecuteNetwork -c CpuAcc -a -m, with any model.

[Expected warnings]:

Warning: An error has occurred when creating the profiling connection [SocketProfilingConnection: Cannot connect to stream socket: Connection refused] on socket [0].
Warning: Timed out waiting on profiling service activation for 3000.09 ms

Kind Regards, Ayman

aymanchaudhry avatar Apr 26 '24 07:04 aymanchaudhry

Hello Ayman.

You've specified the "-a" command line parameter which will:

-a, --enable-external-profiling If enabled external profiling will be switched on

By specifying this parameter execute network will attempt to connect to a Streamline server to send profiling data. The warnings are indicating that there's no server to connect to.

Colm.

Colm-in-Arm avatar Apr 29 '24 14:04 Colm-in-Arm

Hi Colm, Thanks for the explanation, but what about for UnitTests?

I have built ArmNN using CMake with the following options:

BUILD_TF_LITE_PARSER=1
BUILD_ONNX_PARSER=1
ARMCOMPUTENEON=1
BUILD_TESTS=1
BUILD_SAMPLE_APP=1
PROFILING=1
BUILD_DELEGATE_JNI_INTERFACE=0
BUILD_ARMNN_EXAMPLES=1
BUILD_CLASSIC_DELEGATE=1

When I run UnitTests, I get similar profiler warnings - I have attached the full log.

I used the same CMake options for building ArmNN v22.02** and I did not get any profiler warnings. Looking at cmake/GlobalConfig.cmake for both versions, PROFILING_BACKEND_STREAMLINE is set to OFF by default for both.

** Did not use BUILD_DELEGATE_JNI_INTERFACE and used the older option for BUILD_CLASSIC_DELEGATE

armnn-24-04-unit-tests-log.txt

aymanchaudhry avatar Apr 29 '24 15:04 aymanchaudhry

Hello Ayman.

There are unit tests that specifically test the external profiling interface. For example ProfilingEnableCpuRef in RuntimeTests.cpp. These will print some output but the tests will pass. This is expected output.

Colm.

Colm-in-Arm avatar Apr 29 '24 15:04 Colm-in-Arm

Sorry for the late response, Thanks Colm!

We can close this issue.

aymanchaudhry avatar Jul 03 '24 07:07 aymanchaudhry