UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Visitor lucaj88
Visitor
461 Views
Registered: ‎05-25-2019

Pynq OpenCL support

Jump to solution

Hi,

I'm a newbye on FPGA system. Just some knowledge from college courses, so my question may looks silly.

In our Lab we aim to accelerate some basic Machine Learning functions on FPGA using Pynq board. As I said before, I've very few knowledge on FPGA design such VHDL or Verilog, so I decide to move to OpenCL implementation. I wonder if openCL may generates IP of the offloaded kernel valuable to be used as an overlay for a Python/Pynq application. 

If It is not possible, what would you suggest for programming FPGA without an inner study of VHDL or other similar languages?

Thank you,

Luca  

0 Kudos
1 Solution

Accepted Solutions
450 Views
Registered: ‎09-17-2018

Re: Pynq OpenCL support

Jump to solution

Pynq,

Is Python (Jupyter Notebook server) on Zynq so there is no Open CL interface there.  You can develop Python accelerators, and then load them into (onto) Pynq, but that is definitely not for beginners (you need to masrer c programming AND designing with programmable logic).  I would first look at what Pynq can do out of the box.  Once you master that, then you need to master Vivado gateware (verilog or VHDL), followed by SDK (processor support, embedded systems).  Finally, you could look at SDx (which supports Open CL for [data center, other] accelerators).

All told, that is literally one full year of EE/CS course work, three or more 3 unit classes.

 

0 Kudos
4 Replies
451 Views
Registered: ‎09-17-2018

Re: Pynq OpenCL support

Jump to solution

Pynq,

Is Python (Jupyter Notebook server) on Zynq so there is no Open CL interface there.  You can develop Python accelerators, and then load them into (onto) Pynq, but that is definitely not for beginners (you need to masrer c programming AND designing with programmable logic).  I would first look at what Pynq can do out of the box.  Once you master that, then you need to master Vivado gateware (verilog or VHDL), followed by SDK (processor support, embedded systems).  Finally, you could look at SDx (which supports Open CL for [data center, other] accelerators).

All told, that is literally one full year of EE/CS course work, three or more 3 unit classes.

 

0 Kudos
Visitor lucaj88
Visitor
414 Views
Registered: ‎05-25-2019

Re: Pynq OpenCL support

Jump to solution

Thanks for the quick reply.

I would really avoid learning languages for hardware description like Verilog and VHDL. Do you think OpenCL may be useful(and efficient) to express parallelism in FPGA environment, considering not only Pynq but also other more generic FPGA board?

0 Kudos
Adventurer
Adventurer
412 Views
Registered: ‎06-09-2015

Re: Pynq OpenCL support

Jump to solution

@lucaj88  as lowearthorbit told you need to plan for this flow while learning with PYNQ: Python interface with Jupyter Notebook on PYNQ, OpenCV/Image Processing with PYNQ, Creating custom overlay for PYNQ with VIVADO HLS and VIVADO IP Integrator while the Custom Overlay you can use the VIVADO HLS flow and VIVADO HLS allow you to create IP on C/C++ or OpenCL. So for working with PYNQ, Verilog/VHDL design flow can be optional if you use the VIVADO HLS [C/C++ or OpenCL] Flow. But having VHDL/Verilog design flow help you to create custom overlay with yoru own VHDL/Verilog IP.

We have a blog on "PYNQ Development with Python and VIVADO". We also have "Tensorflow installation on PYNQ" tutorial.

Regards,
krishna@logictronix.com
0 Kudos
Visitor lucaj88
Visitor
403 Views
Registered: ‎05-25-2019

Re: Pynq OpenCL support

Jump to solution
Nice Blog! I will definetely attend the class on udemy!
0 Kudos