ferrandi / PandA-bambu

PandA-bambu public repository

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

About Cycle Simulation

jiangnan7 opened this issue · comments

My ll file is
define void @test(float* %0, float* %1, float* %2, float* %3) !dbg !3

My given test file is

I will set my ll file with different scale. As I translate out the ll file scale of 16, 32 it can simulate fine, but when I enter the scale of 64, it gives me error.

error:
` Parameter P0 (495332) (testvector 0) allocated at 1073741824 : reserved_mem_size = 4
Padding of 28 for parameter P0
Parameter P1 (495333) (testvector 0) allocated at 1073741856 : reserved_mem_size = 4
Padding of 28 for parameter P1
Parameter P2 (495334) (testvector 0) allocated at 1073741888 : reserved_mem_size = 4
Padding of 28 for parameter P2
Parameter P3 (495335) (testvector 0) allocated at 1073741920 : reserved_mem_size = 4
Padding of 28 for parameter P3
C-based testbench generation for function test: /home/tianyi/vitis_example/exp/soda/atax_opt/HLS_output//simulation/values.c
Prepared testbench
clang: warning: optimization flag '-ffloat-store' is not supported [-Wignored-optimization-argument]
clang: warning: optimization flag '-ffloat-store' is not supported [-Wignored-optimization-argument]
warning: overriding the module target triple with i386-pc-linux-gnu [-Woverride-module]
1 warning generated.
clang: warning: optimization flag '-ffloat-store' is not supported [-Wignored-optimization-argument]
clang: warning: optimization flag '-ffloat-store' is not supported [-Wignored-optimization-argument]
warning: overriding the module target triple with i386-pc-linux-gnu [-Woverride-module]
1 warning generated.
error -> Error in generating the expected test results

Please report bugs to panda-info@polimi.it`

It is not very clear what you did. Have you passed a test.xml file? How has such a file been structured?
Fabrizio

I am using MLIR to do some optimisations on some examples from polybench (they are available in different sizes 16, 32...) .
When I lower to llvm, it will do a cycle simulation. But my examples all right for sizes 16 and 32, not 64 and up. test.xml I thought it is just a test file and it automatically populates the array, but after encountering error, I manually populate the array, but it still gives me an error.

Could you please share the files and the command line?

Sure, thanks for your help. This is a ll file.

test.txt

my command line is
/opt/panda/bin/bambu -v3 --print-dot -lm --soft-float --compiler=I386_CLANG12 -O2 --device=xcku060-3ffva1156-VVD --clock-period=10 --no-iob --experimental-setup=BAMBU-BALANCED-MP --channels-number=2 --memory-allocation-policy=ALL_BRAM --disable-function-proxy --simulate --simulator=VERILATOR --top-fname=test test.ll

Due to github not supporting ll format, I change to txt.

test_64.txt
The one above is a size 16, this one is a 64.

test functions receive three pointers. To simulate you need to pass a test.xml with option --generate-tb=test.xml.
There is no automatic way to generate test.xml when pointers are involved.

I know this, I've used bambu many times before. I don't add --generate-tb=test.xml and it can find this file automatically, I manually populate the data and still report an error.

In fact, I add the option --generate-tb=test.xml and populate the array and still report an error.

do you mind to share even the test.xml file?