ferrandi / PandA-bambu

PandA-bambu public repository
GNU General Public License v3.0
241 stars 47 forks source link

About Cycle Simulation #180

Closed jiangnan7 closed 1 year ago

jiangnan7 commented 1 year ago

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`

fabrizioferrandi commented 1 year ago

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

jiangnan7 commented 1 year ago

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.

fabrizioferrandi commented 1 year ago

Could you please share the files and the command line?

jiangnan7 commented 1 year ago

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.

jiangnan7 commented 1 year ago

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

fabrizioferrandi commented 1 year ago

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.

jiangnan7 commented 1 year ago

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.

jiangnan7 commented 1 year ago

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

fabrizioferrandi commented 1 year ago

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

jiangnan7 commented 1 year ago

test_xml.txt