PYNQ: PYTHON PRODUCTIVITY

PYNQ v2.5.1 Release - Alveo Edition

As is becoming a tradition for the PYNQ team, we are timing our latest v2.5.1 (Bespin) release to coincide with the start of the FPGA conference.

This particular release enables PYNQ to run with Alveo platforms and AWS F1 instances. Expanding from edge computing, PYNQ is now pip installable onto traditional x86 machines in addition to continued support for Zynq devices. Please see our Alveo getting started guide for more details.

Some key benefits:

  1. The ability to open and start exploring Alveo designs in 5 bash command lines.
pip install pynq
pip install pynq-alveo-examples

pynq get-notebooks
cd pynq-notebooks

jupyter notebook
  1. There is no change in the existing PYNQ APIs. We have maintained an identical Pythonic API across the edge and cloud platforms. Please see our PYNQ-HelloWorld repository to see how one overlay repository can support Zynq-7000, Zynq UltraScale+, and now also Alveo platforms. If you just want to check out the APIs, please see the easy-to-understand vector add or the more advanced data compression example notebooks hosted on GitHub.

  2. Specific to Alveo designs, we’ve included several new benefits for exploring, understanding and scaling out Alveo applications:

    • Compute kernels, memory, and data buffers are all delivered as Python objects when xclbin files are deployed.

    • Vitis xclbin meta-data can be visualized within JupyterLab.

    • Interactive HW emulation sessions can be driven directly from Python.

    • Discovery of boards and shells is done automatically within a Python session.

    • Live power monitoring and visualization is enabled with running Alveo applications.

  3. We have released several example designs and notebooks with PYNQ on Alveo:

    • 16 Jupyter Notebooks to explore PYNQ on Alveo with precompiled xclbins.

    • An example Vitis compression library driven from a Jupyter notebook.

    • Optimization walkthroughs using multiple kernels, streams and overlapping computation and data movement.

    • Notebooks on how to include PYNQ in HW emulation sessions and how to drive the Vitis command line from within a Jupyter notebook.

  4. Look for some partner overlays coming soon that will be announced on discuss.pynq.io and blogs that describe some of our thinking and motivations for PYNQ on Alveo.

If you’d like to test it out, please check out Nimbix Alveo cards or AWS F1 instances to get started. Finally, we’ll have a demo running at FPGA2020 – see you in Monterey!


The PYNQ Team

5 Likes

Two questions:

  • does this offer any advantages to the non-Alveo users of Pynq?

  • (if so) can you post instructions for upgrading an existing Pynq 2.5 installation to 2.5.1?

Thanks.

The short answer is that if you are using PYNQ v2.5 for Zynq, you don’t need to update anything.

There are no new PYNQ images for existing Zynq boards, which is why this is a minor version update, despite all the additional functionality that is now available for Alveo.

Cathal