Giter Site home page Giter Site logo

HW rebuild for other plaform about qnn-mo-pynq HOT 6 CLOSED

xilinx avatar xilinx commented on August 22, 2024
HW rebuild for other plaform

from qnn-mo-pynq.

Comments (6)

giuliogamba avatar giuliogamba commented on August 22, 2024

Hi,

yes you can retarget the device in hls-syn.tcl, in the make-hw.sh script and the make-vivado-proj.tcl.
Nonetheless, you're going to need to adapt also the the run-time SW running on the ARM cores, since the implementation is based on the XLNK driver for contiguous memory allocation.

from qnn-mo-pynq.

joyliu37 avatar joyliu37 commented on August 22, 2024

Thanks! I am trying to do the co-sim in HLS and run into the following error. Do you have any idea what's wrong with that?

/home/joey.liu/Work/QNN-MO-PYNQ/qnn/src/library/host/layers.cpp:55:1: error: uninitialized reference member ‘Layers::_network’ [-fpermissive]
In file included from /home/common/tools/Xilinx/Vivado/2017.4/lnx64/tools/gcc/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.6.3/../../../../include/c++/4.6.3/vector:70:0,
from /home/joey.liu/Work/QNN-MO-PYNQ/qnn/src/library/host/layers.h:37,
from /home/joey.liu/Work/QNN-MO-PYNQ/qnn/src/library/host/layers.cpp:32:
/home/common/tools/Xilinx/Vivado/2017.4/lnx64/tools/gcc/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.6.3/../../../../include/c++/4.6.3/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_inse
rt_aux(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {const Layers::Layer&}, _Tp = Layers::Layer, _Alloc = std::allocatorLayers::Layer, std::vector<_Tp, _Alloc>::iterator = __gnu_cxx::__no
rmal_iterator<Layers::Layer*, std::vectorLayers::Layer >, typename std::_Vector_base<_Tp, _Alloc>::_Tp_alloc_type::pointer = Layers::Layer*]’:
/home/common/tools/Xilinx/Vivado/2017.4/lnx64/tools/gcc/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.6.3/../../../../include/c++/4.6.3/bits/stl_vector.h:834:4: instantiated from ‘void std::vector<_Tp, _Alloc>
::push_back(const value_type&) [with _Tp = Layers::Layer, _Alloc = std::allocatorLayers::Layer, std::vector<_Tp, _Alloc>::value_type = Layers::Layer]’
/home/joey.liu/Work/QNN-MO-PYNQ/qnn/src/library/host/layers.cpp:312:46: instantiated from here
/home/common/tools/Xilinx/Vivado/2017.4/lnx64/tools/gcc/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.6.3/../../../../include/c++/4.6.3/bits/vector.tcc:319:4: error: use of deleted function ‘Layers::Layer& Layer
s::Layer::operator=(const Layers::Layer&)’
In file included from /home/joey.liu/Work/QNN-MO-PYNQ/qnn/src/library/host/layers.cpp:32:0:
/home/joey.liu/Work/QNN-MO-PYNQ/qnn/src/library/host/layers.h:63:16: error: ‘Layers::Layer& Layers::Layer::operator=(const Layers::Layer&)’ is implicitly deleted because the default definition would be ill-f
ormed:
/home/joey.liu/Work/QNN-MO-PYNQ/qnn/src/library/host/layers.h:63:16: error: non-static reference member ‘Layers& Layers::Layer::parent’, can’t use default assignment operator
/home/joey.liu/Work/QNN-MO-PYNQ/qnn/src/library/host/layers.h:63:16: error: non-static reference member ‘Network& Layers::Layer::network’, can’t use default assignment operator
In file included from /home/common/tools/Xilinx/Vivado/2017.4/lnx64/tools/gcc/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.6.3/../../../../include/c++/4.6.3/bits/char_traits.h:41:0,
from /home/common/tools/Xilinx/Vivado/2017.4/lnx64/tools/gcc/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.6.3/../../../../include/c++/4.6.3/ios:41,
from /home/common/tools/Xilinx/Vivado/2017.4/lnx64/tools/gcc/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.6.3/../../../../include/c++/4.6.3/istream:40,
from /home/common/tools/Xilinx/Vivado/2017.4/lnx64/tools/gcc/bin/../lib/gcc/x86_64-unknown-linux-gnu/4.6.3/../../../../include/c++/4.6.3/fstream:40,
from /home/joey.liu/Work/QNN-MO-PYNQ/qnn/src/library/host/layers.h:36,
from /home/joey.liu/Work/QNN-MO-PYNQ/qnn/src/library/host/layers.cpp:32:

make: *** [obj/layers.cpp_pre.cpp.tb.o] Error 1
ERROR: [COSIM 212-317] C++ compile error.
ERROR: [COSIM 212-321] EXE file generate failed.
ERROR: [COSIM 212-321] EXE file generate failed.
ERROR: [COSIM 212-331] Aborting co-simulation: C simulation failed, compilation errors.
ERROR: [COSIM 212-4] *** C/RTL co-simulation finished: FAIL ***
command 'ap_source' returned error code
while executing
"source [lindex $::argv 1] "
("uplevel" body line 1)
invoked from within
"uplevel #0 { source [lindex $::argv 1] } "

from qnn-mo-pynq.

giuliogamba avatar giuliogamba commented on August 22, 2024

Hi,

for performance reasons, the host code embeds features of C++11, which is not completely supported in gcc 4.6.3.
You can try to instrument the host code to avoid C++11 non supported features, like the one listed here.
Hope this helps.

from qnn-mo-pynq.

joyliu37 avatar joyliu37 commented on August 22, 2024

Um, make sense. Thanks!

from qnn-mo-pynq.

joyliu37 avatar joyliu37 commented on August 22, 2024

I fixed the previous compile problem and run the co-simulation. It seems another problem related to the axi interface pop up. Do you have any idea? Thanks!

/home/joey.liu/Work/QNN-MO-PYNQ/qnn/src/network/output/hls-syn/W1A3/sol1/sim/verilog/AESL_axi_master_hostmem2.v: Read request address 16 exceed AXI master hostmem2 array depth: 1
$finish called at time : 1735 ns : File "/home/joey.liu/Work/QNN-MO-PYNQ/qnn/src/network/output/hls-syn/W1A3/sol1/sim/verilog/AESL_axi_master_hostmem2.v" Line 695

quit

INFO: [Common 17-206] Exiting xsim at Wed Jul 11 11:10:55 2018...
ERROR: [COSIM 212-303] Aborting co-simulation: RTL simulation failed.
ERROR: [COSIM 212-344] Rtl simulation failed.

from qnn-mo-pynq.

giuliogamba avatar giuliogamba commented on August 22, 2024

Increase the depth of the m_axi to the size of the data moved into the accelerator. You have to increase the depth value in lines 149, 151 and 153 in the top.cpp file.

from qnn-mo-pynq.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.