On Thu, 7 Feb 2019, Matthew Bentham wrote:
Hi Nicolas,
I just tried running SimpleSample on armv8a with NEON and it worked OK for me. Can you post your cmake command line to see if anything is looking suspicious?
I did exactly as suggested in the tutorial, with the addition of -DBUILD_SAMPLE_APP=1. It goes like this:
cmake .. \ -DARMCOMPUTE_ROOT=$BASEDIR/ComputeLibrary \ -DARMCOMPUTE_BUILD_DIR=$BASEDIR/ComputeLibrary/build \ -DBOOST_ROOT=$BASEDIR/boost \ -DTF_GENERATED_SOURCES=$BASEDIR/tensorflow-protobuf \ -DBUILD_TF_PARSER=1 \ -DPROTOBUF_ROOT=$BASEDIR/protobuf-host \ -DBUILD_TF_LITE_PARSER=1 \ -DTF_LITE_GENERATED_PATH=$BASEDIR/tensorflow/tensorflow/lite/schema \ -DFLATBUFFERS_ROOT=$BASEDIR/flatbuffers \ -DFLATBUFFERS_LIBRARY=$BASEDIR/flatbuffers/libflatbuffers.a \ -DBUILD_SAMPLE_APP=1
The output from that doesn't show any errors.
The other difference with the tutorial is the Boost version that I used: v1.67.0 instead of v1.64.0, as the later gave me some compilation trouble with gcc-8. But I doubt this is the cause of this issue (could it be?).
I just tested on x86-64 as well, with the same result:
$ ./samples/SimpleSample Please enter a number: 42 [2019-02-07 13:00:16.811699] [0x00007fb012592780] [info] ArmNN v20181100 [2019-02-07 13:00:16.813602] [0x00007fb012592780] [warning] ERROR: None of the preferred backends [CpuRef ] are supported. Current platform provides [] Segmentation fault (core dumped)
To give you a hint where to start debugging, I'd be looking at BackendSettings::Initialize and BackendSettings::GetAvailablePreferredBackends where it gets the list of currently available backends and intersects it with the list of requested backends.
Yes, I identified those already, but couldn't find anything obvious. I was hoping that someone more familiar with the code would have an immediate answer. I'll keep digging.
Nicolas