Hello. I installed Hexagon SDK 3.4.1 + Halide 2.2
Set up all the environment stuff according to the halide docs (<SDK_ROOT>/Halide_Tools/2.2/Halide/docs)
Section "2.4 Build and run a Halide for HVX example"
Then according to this instruction I moved to <SDK_ROOT>/Halide_Tools/2.2/Halide/Examples/dilate3x3
I added to dilate3x3_generator.cpp next line:
#define _GLIBCXX_USE_CXX11_ABI 0 (according to examples README, due to my gcc version is 5.4.0)
And tried to run the test:
./test-dilate3x3
I got next error:
HEXAGON_SDK_REV=3.4.1
HL_HEXAGON_TOOLS_REV=8.2.07
SDK_ROOT=/home/alex-garmash/Qualcomm/Hexagon_SDK
HEXAGON_SDK_ROOT=/home/alex-garmash/Qualcomm/Hexagon_SDK/3.4.1
HL_HEXAGON_TOOLS=/home/alex-garmash/Qualcomm/Hexagon_SDK/3.4.1/tools/HEXAGON_Tools/8.2.07/Tools
HALIDE_ROOT=/home/alex-garmash/Qualcomm/HALIDE_Tools/2.2/Halide
ANDROID_NDK_HOME=/var/local/android-sdk/ndk-bundle
ANDROID_ARM64_TOOLCHAIN=/var/local/android-sdk/ndk-bundle/platforms/android-21/arch-arm64
HL_HEXAGON_SIM_REMOTE=/home/alex-garmash/Qualcomm/HALIDE_Tools/2.2/Halide/bin/hexagon_sim_remote
HL_HEXAGON_TOOLS_SIM=/home/alex-garmash/Qualcomm/Hexagon_SDK/3.4.1/tools/HEXAGON_Tools/8.2.07/Tools
HL_HEXAGON_SIM_CYCLES=1
ARCHSTRING=--l2cache_perfect 1
CXX=g++
+ rm -fr pmu_statsfile.txt stats_dump.iss.0 pa_dump.core.0 ./bin dilate3x3_hvx128_out.bin dilate3x3_hvx64_out.bin
+ mkdir bin
+ g++ --std=c++11 -DLOG2VLEN=7 -DRUN=1 -DASSEMBLY=1 -DBITCODE=1 -I /home/alex-garmash/Qualcomm/HALIDE_Tools/2.2/Halide/include -fno-rtti -O3 -g dilate3x3_generator.cpp /home/alex-garmash/Qualcomm/HALIDE_Tools/2.2/Halide/tools/GenGen.cpp -L/home/alex-garmash/Qualcomm/HALIDE_Tools/2.2/Halide/lib -lHalide -o bin/dilate3x3_generator -ldl -lpthread -lz
./test-dilate3x3: line 11: g++: command not found
+ export LD_LIBRARY_PATH=/home/alex-garmash/Qualcomm/HALIDE_Tools/2.2/Halide/lib:
+ LD_LIBRARY_PATH=/home/alex-garmash/Qualcomm/HALIDE_Tools/2.2/Halide/lib:
+ ./bin/dilate3x3_generator -o bin -g dilate3x3 -e o,h,assembly,bitcode -f dilate3x3_hvx64 target=hexagon-32-noos-no_bounds_query-no_asserts-hvx_64
./test-dilate3x3: line 13: ./bin/dilate3x3_generator: No such file or directory
+ export LD_LIBRARY_PATH=/home/alex-garmash/Qualcomm/HALIDE_Tools/2.2/Halide/lib:
+ LD_LIBRARY_PATH=/home/alex-garmash/Qualcomm/HALIDE_Tools/2.2/Halide/lib:
+ ./bin/dilate3x3_generator -o bin -g dilate3x3 -e o,h,assembly,bitcode -f dilate3x3_hvx128 target=hexagon-32-noos-no_bounds_query-no_asserts-hvx_128
./test-dilate3x3: line 14: ./bin/dilate3x3_generator: No such file or directory
+ ar q bin/dilate3x3_filters.a bin/dilate3x3_hvx64.o bin/dilate3x3_hvx128.o
ar: creating bin/dilate3x3_filters.a
ar: bin/dilate3x3_hvx64.o: No such file or directory
+ hexagon-clang++ --std=c++11 -c -mhvx -mhvx-length=128B -mv60 -DLOG2VLEN=7 -I /home/alex-garmash/Qualcomm/HALIDE_Tools/2.2/Halide/include -I ./bin -I ./baseline dilate3x3_run.cpp -o bin/dilate3x3_run.o
dilate3x3_run.cpp:24:12: fatal error: 'dilate3x3_hvx128.h' file not found
#include "dilate3x3_hvx128.h"
^~~~~~~~~~~~~~~~~~~~
1 error generated.
+ hexagon-clang++ -mhvx -mhvx-length=128B -mv60 -DLOG2VLEN=7 bin/dilate3x3_run.o bin/dilate3x3_filters.a -lhexagon -L/home/alex-garmash/Qualcomm/HALIDE_Tools/2.2/Halide/lib -lsim_qurt -o bin/dilate3x3.out
hexagon-clang++: error: no such file or directory: 'bin/dilate3x3_run.o'
hexagon-clang++: error: no such file or directory: 'bin/dilate3x3_filters.a'
+ hexagon-sim bin/dilate3x3.out --memfill 0x0 --simulated_returnval --timing --nullptr=2 -- 1920 1080 ../Images/football1920x1080.bin out.bin
Missing executable: Usage: hexagon-sim [options] input.elf
+ cmp dilate3x3_hvx128_out.bin golden_out.no_borders.bin
cmp: dilate3x3_hvx128_out.bin: No such file or directory
+ cmp dilate3x3_hvx64_out.bin golden_out.no_borders.bin
cmp: dilate3x3_hvx64_out.bin: No such file or directory
Where can I get dilate3x3_hvx128.h? I couldn't find it anywhere. How to fix this error?
I tried to disable check for RUN_BASELINE(in the main cpp file) - but it didn't help
check your gcc version ,I use the 4.8.5 and compiled ok.
Thank you. I setup ubuntu 14.04 on docker with gcc 4.8.4
It compiles ok now