You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tvm.apache.org by GitBox <gi...@apache.org> on 2020/04/30 02:02:01 UTC

[GitHub] [incubator-tvm-vta] zhanghaohit commented on pull request #8: [Hardware][Xilinx] explicitly specify acc dep distance to avoid hidden pitfall

zhanghaohit commented on pull request #8:
URL: https://github.com/apache/incubator-tvm-vta/pull/8#issuecomment-621567733


   > Thanks @zhanghaohit, for catching this error. I agree with the fact that the dependence should not be hardcoded. However in order to not to add too many parameters in the config file, can we derive the value from the VTA target (i.e. FPGA type) in `pkg_config`?
   > 
   > Also from what I understand is that the dependence distance is generally a property of the memory part that the FPGA is using. For instance that distance will be different if one uses BRAM vs. Ultra-RAM? And on a different FPGA family this number will change. Correct?
   
   I think the dependence distance here is defined by the user, to tell the compiler (e.g., XILINX vivado) that, to what extent, the software layer (i.e., TVM code generator) can guarantee there is no acc memory conflict. Say, if the distance = 4, meaning that the software will guarantee there is no conflict within 4 iterations. So the compiler can generate hardware code with smaller `II` as it is not necessary for the compiler to generate code with larger `II` to eliminate memory conflict from the hardware perspective. 
   
   Thus, I also add the check in [VTA runtime](https://github.com/apache/incubator-tvm/pull/5471/commits/3b0d179de41e4212d94c2920c91004709ab78003) to do the VerifyDep.


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org