Xilinx / BNN-PYNQ

Quantized Neural Networks (QNNs) on PYNQ
https://xilinx.github.io/finn/
BSD 3-Clause "New" or "Revised" License
671 stars 306 forks source link

Variable "RAWHLS" Definition Problem #115

Closed honggangyu closed 5 years ago

honggangyu commented 5 years ago

Hi,

Regarding the BNN-PYNQ (https://github.com/Xilinx/BNN-PYNQ), I have met one intractable problem while compiling the source code on PYNQ-Z1 board running ubuntu system.

Here is the problem related to my project and unsolved before:

When compiling the "BlackBoxJam" function in the file "BNN-PYNQ/bnn/src/library/host/foldedmv-offload.h", I find that the variable "RAWHLS" at line 134 "#if defined(OFFLOAD) && defined(RAWHLS)" need to be predefined. Could you please tell me how to define the variable "RAWHLS" so that I can compile the "BlackBoxJam" with related libraries?

Thanks a lot for all your help!

giuliogamba commented 5 years ago

I don't think I understand the problem. Anyway, those variable are defined at compile time according to the need in the make-sw.sh script. When we compile the code using software execution (thus compiling the HLS C++ code as software), we use the -DRAWHLS (line 108) flag to compile that part of the code.

honggangyu commented 5 years ago

I don't think I understand the problem. Anyway, those variable are defined at compile time according to the need in the make-sw.sh script. When we compile the code using software execution (thus compiling the HLS C++ code as software), we use the -DRAWHLS (line 108) flag to compile that part of the code.

Thanks so much! :)

honggangyu commented 5 years ago

I don't think I understand the problem. Anyway, those variable are defined at compile time according to the need in the make-sw.sh script. When we compile the code using software execution (thus compiling the HLS C++ code as software), we use the -DRAWHLS (line 108) flag to compile that part of the code.

Hi Giulio,

Thanks for your reply! Could you please introduce the difference between the code using software execution and the code using hardware execution?

Thanks!