Hello,
I was trying to run the HLS C simulation of FlexCNN following the documentation and encountered a segmentation fault in the middle.
My environment is:
- Ubuntu 18.04
- Vivado(TM) HLS - High-Level Synthesis from C, C++ and SystemC v2020.1
I uncommented the kernel and conv_core functions in the kernel.cpp for fast functional simulation.
I was running the following steps:
cd auto_compile/dse
# I didn't find network.model in ../protobuf_translation so I use the one in the dse folder instead
python3 dse_p.py -m ./network.model -i ./input.json -b ./vu9p.json
cd ../inst_gen
python inst_parse.py -t ./tile.json -m ../dse/network_out.model -i ./input.json --systolic
cd ../../HLS_Codes
cp ../auto_compile/inst_gen/param.h .
vivado_hls hls_scripts.tcl
From the debugging messeage, it seems that the segmentation fault happens during executing layer 88
...
start
passed cin load
passed prev cin load
passed weight load
passed depth conv
passed relu6
passed conv
passed relu
passed add
passed upsample
passed merge upsample
passed cout write
Passed87
start
Program received signal SIGSEGV, Segmentation fault.
__memmove_avx_unaligned_erms () at ../sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S:234
234 ../sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S: No such file or directory.
The backtrace from gdb is shown here:
#0 __memmove_avx_unaligned_erms () at ../sysdeps/x86_64/multiarch/memmove-vec-unaligned-erms.S:234
#1 0x000055555557a239 in ap_private<512, false, false>::ap_private (this=0x7fffffe3f110, that=...)
at /tools/Xilinx/Vivado/2020.1/include/etc/ap_private.h:3279
#2 0x0000555555579669 in ssdm_int_sim<512, false>::ssdm_int_sim (this=0x7fffffe3f110)
at /tools/Xilinx/Vivado/2020.1/include/ap_common.h:634
#3 0x00005555555796ab in ap_int_base<512, false>::ap_int_base (this=0x7fffffe3f110)
at /tools/Xilinx/Vivado/2020.1/include/ap_int_base.h:148
#4 0x00005555555796ed in ap_uint<512>::ap_uint (this=0x7fffffe3f110) at /tools/Xilinx/Vivado/2020.1/include/ap_int.h:203
#5 0x0000555555558877 in cin_load_fifo_write (cin_burst_buf=0x7fffffe3f3a0, fifo_cin=..., LAYER_IN_NUM_T=6, LAYER_IN_H_T=6,
LAYER_IN_W_T=6, FILTER_S=6) at kernel.cpp:104
#6 0x000055555555acb7 in cin_load (global_cin=0x7ffff3017010, config=0x7fffffeeb9b0, fifo_cin=..., fifo_config_out=...) at kernel.cpp:680
#7 0x0000555555578c4b in engine (global_cin=0x7ffff3017010, global_prev_cin=0x7ffff3017010, global_weight=0x7fffeed6e010,
global_bias=0x555555982280, global_cout=0x7ffff3017010, config=0x7fffffeeb9b0) at kernel.cpp:5491
#8 0x0000555555579539 in top_kernel (global_cin=0x7ffff3017010, global_prev_cin=0x7ffff3017010, global_cout=0x7ffff3017010,
global_weight=0x7fffeed6e010, global_bias=0x555555982280, layer_config=0x55555599d4d0) at kernel.cpp:5689
#9 0x0000555555556498 in main () at tb_pose.cpp:82
Have you encounter this issue before? Could you please provide some insights of the cause of this issue? Thank you!
Hello,
I was trying to run the HLS C simulation of FlexCNN following the documentation and encountered a segmentation fault in the middle.
My environment is:
I uncommented the
kernelandconv_corefunctions in thekernel.cppfor fast functional simulation.I was running the following steps:
From the debugging messeage, it seems that the segmentation fault happens during executing layer 88
The backtrace from gdb is shown here:
Have you encounter this issue before? Could you please provide some insights of the cause of this issue? Thank you!