UCLA-VAST / AutoSA

AutoSA: Polyhedral-Based Systolic Array Compiler
MIT License
191 stars 31 forks source link

Broken Functionality? #19

Closed taehyunzzz closed 11 months ago

taehyunzzz commented 11 months ago

I tried some of the tests following the example documentations.

I found Vitis SW emulation and Vitis HLS C simulation does not pass the basic tests.

Is the functionality broken? :(

taehyunzzz commented 11 months ago

I found the reason for the SW emulation failing when using multiple output memory ports.

Before comparing the output C with C_golden, the helper function C_drain_drain_merge() does not work. Expected functionality is to merge all C outputs into C[0]. The original flow was to pass the dev_C values to a function that receives the dev_Cs by call-by-reference. For some reason the merging does not work this way.

I implemented the same function outside the helper function on the output C values instead of dev_C and found that it works. I wonder what the smart way of fixing this is hmm,,, Maybe due to gcc version change ('m using 9.3) but not sure :(

Hope this helps 👍