When I'm trying to run LightningSim v0.2.6 with Vitis 2023.2, LightningSim reports an undefined reference error when generating testbench_top:
(lightningsim) [~] lightningsim systolic_test.prj/out.prj/solution1
[01:00:11] [INFO] LightningSim: Starting with v0.2.2, LightningSim defaults to non-interactive CLI mode. To use the interactive web-based GUI instead, pass the --gui flag. To suppress this message, pass the --cli flag explicitly.
[01:00:11] [INFO] LightningSim: Analyzing project...
warning: ignoring debug info with an invalid version (0) in
[01:00:11] [INFO] LightningSim: Compiling project...
Traceback (most recent call last):
File "/hdd/liuweiran/miniconda3/envs/lightningsim/bin/lightningsim", line 11, in <module>
sys.exit(main())
^^^^^^
File "/hdd/liuweiran/miniconda3/envs/lightningsim/lib/python3.12/site-packages/lightningsim/main.py", line 540, in main
return run(run_simple(solution_dir, debug=args.debug))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/hdd/liuweiran/miniconda3/envs/lightningsim/lib/python3.12/asyncio/runners.py", line 195, in run
return runner.run(main)
^^^^^^^^^^^^^^^^
File "/hdd/liuweiran/miniconda3/envs/lightningsim/lib/python3.12/asyncio/runners.py", line 118, in run
return self._loop.run_until_complete(task)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/hdd/liuweiran/miniconda3/envs/lightningsim/lib/python3.12/asyncio/base_events.py", line 691, in run_until_complete
return future.result()
^^^^^^^^^^^^^^^
File "/hdd/liuweiran/miniconda3/envs/lightningsim/lib/python3.12/site-packages/lightningsim/main.py", line 441, in run_simple
trace = await runner.run()
^^^^^^^^^^^^^^^^^^
File "/hdd/liuweiran/miniconda3/envs/lightningsim/lib/python3.12/site-packages/lightningsim/runner.py", line 555, in run
link_testbench.check_returncode()
File "/hdd/liuweiran/miniconda3/envs/lightningsim/lib/python3.12/site-packages/lightningsim/runner.py", line 125, in check_returncode
raise RuntimeError(message)
RuntimeError: command make -B -f /hdd/XilinxTools/Vitis_HLS/2023.2/include/Makefile.sysc.rules AUTOPILOT_ROOT=/hdd/XilinxTools/Vitis_HLS/2023.2 AUTOPILOT_TOOL=/hdd/XilinxTools/Vitis_HLS/2023.2/lnx64/tools AUTOPILOT_MACH=lnx64 CXX=/hdd/liuweiran/miniconda3/envs/lightningsim/bin/x86_64-conda-linux-gnu-c++ TARGET=/tmp/lightningsim.5wckiwo2/testbench_top ObjDir=/tmp/lightningsim.phmrbxfv 'OBJECTS=/tmp/lightningsim.phmrbxfv/testbench.0.o /tmp/lightningsim.phmrbxfv/testbench.1.o /tmp/lightningsim.phmrbxfv/a.o.3.o /tmp/lightningsim.phmrbxfv/mapper_top.o' 'ExtraLDFlags=-L /hdd/liuweiran/miniconda3/envs/lightningsim/share/lightningsim/templates -llightningsimrt -pthread -g -O3 -flto /hdd/liuweiran/miniconda3/envs/lightningsim/share/lightningsim/systemc/lib-linux64/libsystemc.a' __SIM_MATHHLS__=1 __SIM_FPO__=1 __SIM_FFT__=1 __SIM_FIR__=1 __SIM_DDS__=1 /tmp/lightningsim.5wckiwo2/testbench_top returned non-zero exit status 2 with output:
> Build using "/hdd/liuweiran/miniconda3/envs/lightningsim/bin/x86_64-conda-linux-gnu-c++"
> Generating /tmp/lightningsim.5wckiwo2/testbench_top
> /hdd/liuweiran/miniconda3/envs/lightningsim/bin/../lib/gcc/x86_64-conda-linux-gnu/15.1.0/../../../../x86_64-conda-linux-gnu/bin/ld: /tmp/lightningsim.phmrbxfv/a.o.3.o: in function `load_buf0.1':
> llvm-link:(.text+0x1502): undefined reference to `_ssdm_op_Return'
> /hdd/liuweiran/miniconda3/envs/lightningsim/bin/../lib/gcc/x86_64-conda-linux-gnu/15.1.0/../../../../x86_64-conda-linux-gnu/bin/ld: /tmp/lightningsim.phmrbxfv/a.o.3.o: in function `load_buf1.1':
> llvm-link:(.text+0x1a1d): undefined reference to `_ssdm_op_Return'
> /hdd/liuweiran/miniconda3/envs/lightningsim/bin/../lib/gcc/x86_64-conda-linux-gnu/15.1.0/../../../../x86_64-conda-linux-gnu/bin/ld: /tmp/lightningsim.phmrbxfv/a.o.3.o: in function `gemm_0_1.1':
> llvm-link:(.text+0x1ce0): undefined reference to `_ssdm_op_Return'
> /hdd/liuweiran/miniconda3/envs/lightningsim/bin/../lib/gcc/x86_64-conda-linux-gnu/15.1.0/../../../../x86_64-conda-linux-gnu/bin/ld: /tmp/lightningsim.phmrbxfv/a.o.3.o: in function `gemm_0_2.1':
> llvm-link:(.text+0x1e70): undefined reference to `_ssdm_op_Return'
> /hdd/liuweiran/miniconda3/envs/lightningsim/bin/../lib/gcc/x86_64-conda-linux-gnu/15.1.0/../../../../x86_64-conda-linux-gnu/bin/ld: /tmp/lightningsim.phmrbxfv/a.o.3.o: in function `gemm_1_0.1':
> llvm-link:(.text+0x2000): undefined reference to `_ssdm_op_Return'
> /hdd/liuweiran/miniconda3/envs/lightningsim/bin/../lib/gcc/x86_64-conda-linux-gnu/15.1.0/../../../../x86_64-conda-linux-gnu/bin/ld: /tmp/lightningsim.phmrbxfv/a.o.3.o:llvm-link:(.text+0x23d4): more undefined references to `_ssdm_op_Return' follow
> collect2: error: ld returned 1 exit status
> make: *** [/hdd/XilinxTools/Vitis_HLS/2023.2/include/Makefile.sysc.rules:318: /tmp/lightningsim.5wckiwo2/testbench_top] Error 1
When I'm trying to run LightningSim v0.2.6 with Vitis 2023.2, LightningSim reports an undefined reference error when generating
testbench_top:Is this error related to the version of Vitis?
cc: @chhzh123