t2sp icon indicating copy to clipboard operation
t2sp copied to clipboard

QRD failed in compilation

Open ronghongbo opened this issue 2 years ago • 3 comments

There are several warnings that I am not sure matter or not. And finally, there is an error thrown.

cd t2s/tests/performance/qrd
g++ qrd-mgs-batch.cpp -g -I ../util  -I ../../../../Halide/include -L ../../../../Halide/bin $EMULATOR_LIBHALIDE_TO_LINK -lz -lpthread -ldl -std=c++11 -DVERBOSE_DEBUG
env HL_DEBUG_CODEGEN=4 PRAGMAUNROLL=1 BITSTREAM="${HOME}/tmp/a.aocx" CL_CONTEXT_EMULATOR_DEVICE_INTELFPGA=1 INTEL_FPGA_OCL_PLATFORM_NAME="$EMULATOR_PLATFORM" AOC_OPTION="$EMULATOR_AOC_OPTION -board=${FPGA_BOARD} -emulator-channel-depth-model=strict " ./a.out
...
Warning: Failed to serialize an input in function AFeeder: path condition to     ....                                                                                                      
Warning: Failed to serialize an output in function QCollector: path condition to ....
...
 Combining channels ...
User error triggered at /home/u89062/a10-intelLabs-t2sp-old/Halide/../t2s/src/CombineChannels.cpp:341
Warning: (at ./qrd-mgs-batch.cpp:107) Failed to combine channels Q.channel and R.channel in function vec_a: Path conditions differ                                                      
    (vec_a.s0.j == vec_a.s0.i) vs. (vec_a.s0.i < min(vec_a.s0.j, 127))
...
Late fuse...
...
terminate called after throwing an instance of 'Halide::InternalError'
what():  Internal Error at /home/u89062/a10-intelLabs-t2sp-old/Halide/../t2s/src/Utilities.cpp:103 triggered by user code at : Condition failed: ends_with(str, postfix):

ronghongbo avatar Mar 07 '23 07:03 ronghongbo

Please disable the channel promotion stage and try again. I am not sure whether this will affect late_fuse.

ZhangMZh avatar Mar 08 '23 02:03 ZhangMZh

Thanks! That return success in emulation mode. Let me try synthesis.

ronghongbo avatar Mar 08 '23 06:03 ronghongbo

No. There is still some problem.

git pull
disable channel promotion in Lower.cpp
make
cd t2s/tests/performance
./test.sh devcloud qrd a10 tiny emulator 

Here is the error in the end:

g++ qrd-run-fpga.cpp qrd-interface.cpp ../../../src/AOT-OpenCL-Runtime.cpp ../../../src/Roofline.cpp ../../../src/SharedUtilsInC.cpp -g -DLINUX -DALTERA_CL -fPIC -I../../../src/ -I /home/u89062/a10-intelLabs-t2sp/Halide/include -I/glob/development-tools/versions/fpgasupportstack/a10/1.2.1/intelFPGA_pro/hld/examples_aoc/common/inc /glob/development-tools/versions/fpgasupportstack/a10/1.2.1/intelFPGA_pro/hld/examples_aoc/common/src/AOCLUtils/opencl.cpp /glob/development-tools/versions/fpgasupportstack/a10/1.2.1/intelFPGA_pro/hld/examples_aoc/common/src/AOCLUtils/options.cpp -I/glob/development-tools/versions/fpgasupportstack/a10/1.2.1/intelFPGA_pro/hld/host/include -L/glob/development-tools/versions/fpgasupportstack/a10/1.2.1/intelFPGA_pro/hld/linux64/lib -L/glob/development-tools/versions/fpgasupportstack/a10/1.2.1/inteldevstack/a10_gx_pac_ias_1_2_1_pv/opencl/opencl_bsp/linux64/lib -L/glob/development-tools/versions/fpgasupportstack/a10/1.2.1/intelFPGA_pro/hld/host/linux64/lib -lOpenCL -L /home/u89062/a10-intelLabs-t2sp/Halide/bin -lelf /home/u89062/a10-intelLabs-t2sp/Halide/lib/libHalide.a -DTINY -lz -lpthread -ldl -std=c++11 -o ./b.out
/home/u89062/tmp/cccqYqph.o:/home/u89062/a10-intelLabs-t2sp/t2s/tests/performance/qrd/qrd-interface.cpp:14: multiple definition of `kernel_name'
/home/u89062/tmp/cc0kL14I.o:/home/u89062/a10-intelLabs-t2sp/t2s/tests/performance/qrd/qrd-run-fpga.cpp:75: first defined here
/home/u89062/tmp/cca8JTFQ.o: In function `cleanup()':
/home/u89062/a10-intelLabs-t2sp/t2s/tests/performance/qrd/../../../src/AOT-OpenCL-Runtime.cpp:38: multiple definition of `cleanup()'
/home/u89062/tmp/cc0kL14I.o:/home/u89062/a10-intelLabs-t2sp/t2s/tests/performance/qrd/qrd-run-fpga.cpp:651: first defined here
/home/u89062/tmp/cca8JTFQ.o: In function `acl_aligned_malloc(unsigned long)':
/home/u89062/a10-intelLabs-t2sp/t2s/tests/performance/qrd/../../../src/AOT-OpenCL-Runtime.cpp:41: multiple definition of `acl_aligned_malloc(unsigned long)'
/home/u89062/tmp/cc0kL14I.o:/home/u89062/a10-intelLabs-t2sp/t2s/tests/performance/qrd/qrd-run-fpga.cpp:69: first defined here
/home/u89062/tmp/cccqYqph.o: In function `qrd':
/home/u89062/a10-intelLabs-t2sp/t2s/tests/performance/qrd/qrd-interface.cpp:29: undefined reference to `halide_print'
/home/u89062/a10-intelLabs-t2sp/t2s/tests/performance/qrd/qrd-interface.cpp:36: undefined reference to `halide_print'
/home/u89062/a10-intelLabs-t2sp/t2s/tests/performance/qrd/qrd-interface.cpp:42: undefined reference to `halide_print'
/home/u89062/a10-intelLabs-t2sp/t2s/tests/performance/qrd/qrd-interface.cpp:48: undefined reference to `halide_print'
/home/u89062/a10-intelLabs-t2sp/t2s/tests/performance/qrd/qrd-interface.cpp:54: undefined reference to `halide_print'
/home/u89062/tmp/cccqYqph.o:/home/u89062/a10-intelLabs-t2sp/t2s/tests/performance/qrd/qrd-interface.cpp:1129: more undefined references to `halide_print' follow
collect2: error: ld returned 1 exit status

ronghongbo avatar Mar 08 '23 06:03 ronghongbo