-
Notifications
You must be signed in to change notification settings - Fork 568
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
How to combine FPGA and nvdla_SW #246
Comments
Running inference on FPGA is perfectly feasible. See this long thread #110 as an example. So far SoC's were tested (like Zynq UltraScale+) and mixed solutions like Virtex+Zynq. I think there were also attempts to run FPGA with communication over PCIe. I tested Zynq and the software integration is relatively straightforward (as soon as one fixes various minor issues). Still, sadly, the main problem is lack of compilation tools for neural networks, that would run on small NVDLA architecture (nv_small or even nv_large). Some teams try to address this issue on their own like iCubeWork: https://github.com/icubecorp/nvdla_compiler - which anyway so far supports nv_full only. Without the compiler you have only little set of sanity tests, you could run with nvdla_runtime. nvdla/sw of course works also in simulation environment, like QEMU based Virtual Platform (nvdla/vp). |
@mmaciag thank you for your answer.
|
Well, in general yes, but maybe not as simple as you described. There are minor things to polish. You definitely want to read about what people were already struggling at nvdla/sw, for example nvdla/sw#46, nvdla/sw#95 and nvdla/sw#70 |
@mmaciag that's definitely what i need, thank you soooo much! the official doc Designware Components says "DW02_tree, DW_lsd and DW_minmax can be obtained directly from the EDA vendors". Does Xilinx provide these components ? And how to do "global define"? |
You should check Vivado (if you work on Zynq) user manual to see how to define global defines. DW_xxx components are not needed when proper macros are defined. See CMAC implementation for reference. If you define FPGA macro, ordinary '*' operator is used instead of Wallace tree (DW02_tree) |
@mmaciag okay, thanks a lot ~ |
if I intergrated nvdla into FPGA successfully , can I just run "nvdla_runtime" to start inference with the FPGA conncted to hostPC ? is this feasible?
Or, is nvdla_sw only designed for simulation ??
Than you ~
The text was updated successfully, but these errors were encountered: