-
Notifications
You must be signed in to change notification settings - Fork 55
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Mismatch result? #27
Comments
Hey there! I have not seen this, but I also haven't tried running the kernel in Vitis 2021.2, because there's a serious performance issue in the memory reader code that suddenly popped up, which I haven't figured out how to fix. Can you check if your kernel had this elevated II because of Does it pass in simulation? You can run a really small matrix so it doesn't take too long. Did you try running any other configurations? Did they succeed/fail? Unfortunately I don't have much time to maintain this these days, since I'm no longer affiliated with the university, so I would appreciate as much help as you can give me to figure out what the issue could be :-) |
Hi - good luck wherever u go! By the way, I checked the
The entire log files are below. I'm gonna rebuild the kernel in hardware mode with the same configuration in Github on VITIS 2020.2 And I built the kernel in hardware mode, not simulation mode. I ran various n,m,k combinations from n=m=k=16 to n=m=k=2048, and the number of mismatch results was getting larger. |
Hi, I'm also using gemm_hls project to build my own work. My simulation result based on the gemm is correct. The simulation and hardware mode do the same thing, so if the mismatch exists in hardware mode, it may also have mismatch in simulation mode. And what kind of data type you use? Is that floating point? |
@xooxit Did compiling it in 2020.2 make a difference? I'm curious if the II=16 issue is related to the verification error. |
@definelicht I did compiling again in 2021.1 (before one is 2021.2), it has no verification error and there is also no II=16 issue. In the above verification error issue, I did build with (I edited the corresponding build commands at the top question.) |
@charliechou1001 Hi - I did build with nodsp option, and there were verification issues, but without nodsp option, there was no any verification error. |
Wow, ok. So 2021.2 is slow because of I would not recommend using |
@definelicht I see-. There is only a verification error on 2021.2 with I'm now building with |
Ok, that's very strange. I suspect this is a bug on Xilinx' side, not in this repo. I think I will put a notice in the README that the accelerator is broken in 2021.2, and see if it improves in future versions, unless any new information comes up? |
Hi @xooxit , I made the project worked on Alveo U250. The Vitis I use is 2020.2, and the the parameter I use in CMakeList is the default one, and I also tried doubled the memory tile size m/n to 512, both works for me. Maybe the problem lies in the tool edition. |
And from my workmate's experience, different edition of HLS will lead to different synthesis result with the same code, especially the hardware resource consumption, maybe the timing or other factors, such as the mismatch problems, is related to that. |
There is always a difference between different versions of the tools, but it's unfortunate if they even break the code :-( |
Yes, I try on 2021.1 and pass the test! yclo |
Hi I reproduce the project following under command lines
Then run like this
and get mismatch result like this
I also tried to adjust the threshold of determining the mismatch result to be larger (i.e. from 1e-03 to 1e-02) and printed out all mismatched results.
My vitis version is 2021.2,
xrt version is 2.12.427 and
platform is xilinx_u250_gen3x16_xdma_3_1_202020_1
Btw, I learned a lot from it. Thanks for the nice work.
The text was updated successfully, but these errors were encountered: