-
Notifications
You must be signed in to change notification settings - Fork 409
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
Updated the reduce function to no longer making unnecessary copies - … #302
Conversation
…saving a memory usage of NlogN. Also making the C++ standard compliant
I dont have access to a linux machine currently, but I will try to get @KOVI89alipes to run the code. |
I am running some CI tests on this (the server was down before). We'll see if anything regressed. |
Looks like CI checks out :) Is there anything you would like us to try manually? |
Indeed, the KERAS_3layer performance is unchanged. I made this standalone test as well, and everything looks good: identical resources, latency, II, and numerical performance with the old and new version.
Given this started as a solution to #300, we should make sure this actually works on Windows. It would be good if you or @KOVI89alipes can check that. And as @vloncar says we need to check that a model using Pooling and io_stream is unaffected. The dummy model in #299 should do the trick. I'll use it to test your PR as well as that one.
FYI this isn't really a factor in evaluating this: the axes of performance are FPGA resource consumption, latency, throughput (II) and numerical accuracy. On those counts the new version is identical to the old - which is good, and expected. |
I've done this. Again, looks good: no change to any of the metrics with the new vs old So now I think we just need the confirmation that it does compile on Windows. |
Okay - I have very limited knowledge about FPGA design and code generation. But good to hear that the generated code is atleast identical. |
I checked this fix, it compiles both in GCC10.1 and MSVC(VS2017) with no extra warning |
And how about in Vivado HLS on Windows? It needs to work on whichever compilers they supply |
Vivado 2020.1 Both CSim and HLS synthesis passed |
Updated the reduce function to no longer making unnecessary copies - …
…saving a memory usage of NlogN. Also making it C++ standard compliant by removing a zero-sized array
This solves: #300