All Projects → Xilinx → ResNet50-PYNQ

Xilinx / ResNet50-PYNQ

Licence: BSD-3-Clause license
Quantized ResNet50 Dataflow Acceleration on Alveo, with PYNQ

Programming Languages

C++
36643 projects - #6 most used programming language
c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to ResNet50-PYNQ

PYNQ Composable Pipeline
PYNQ Composabe Overlays
Stars: ✭ 25 (-40.48%)
Mutual labels:  xilinx, pynq
xup compute acceleration
Hands-on experience using the Vitis unified software platform with Xilinx FPGA hardware
Stars: ✭ 41 (-2.38%)
Mutual labels:  xilinx
SDR Matlab OFDM 802.11n
📡 Using Software Designed Radio to transmit MIMO-OFDM QPSK signals at 5 GHz
Stars: ✭ 44 (+4.76%)
Mutual labels:  xilinx
ixo-usb-jtag
usb-jtag - Altera USB Blaster Emulation with a FX2
Stars: ✭ 49 (+16.67%)
Mutual labels:  xilinx
JSON-for-VHDL
A JSON library implemented in VHDL.
Stars: ✭ 56 (+33.33%)
Mutual labels:  xilinx
fpga-docker
Tools for running FPGA vendor toolchains with Docker
Stars: ✭ 54 (+28.57%)
Mutual labels:  xilinx
vim-hdl
Vim plugin to aid VHDL development (for LSP, see https://github.com/suoto/hdl_checker)
Stars: ✭ 59 (+40.48%)
Mutual labels:  xilinx
virtio
Virtio implementation in SystemVerilog
Stars: ✭ 38 (-9.52%)
Mutual labels:  xilinx
SHA256Hasher
SHA-256 IP core for ZedBoard (Zynq SoC)
Stars: ✭ 25 (-40.48%)
Mutual labels:  xilinx
Xilinx-ISE-Makefile
An example of how to use the Xilinx ISE toolchain from the command line
Stars: ✭ 50 (+19.05%)
Mutual labels:  xilinx
prjxray-db
Project X-Ray Database: XC7 Series
Stars: ✭ 52 (+23.81%)
Mutual labels:  xilinx
intfftk
Fully pipelined Integer Scaled / Unscaled Radix-2 Forward/Inverse Fast Fourier Transform (FFT) IP-core for newest Xilinx FPGAs (Source language - VHDL / Verilog). GNU GPL 3.0.
Stars: ✭ 43 (+2.38%)
Mutual labels:  xilinx
SDR Matlab LTE
📡 Using Software Designed Radio to transmit LTE downlink signals at 2.4 GHz
Stars: ✭ 21 (-50%)
Mutual labels:  xilinx
eddr3
mirror of https://git.elphel.com/Elphel/eddr3
Stars: ✭ 33 (-21.43%)
Mutual labels:  xilinx
zc pcie dma
DMA attacks over PCI Express based on Xilinx Zynq-7000 series SoC
Stars: ✭ 37 (-11.9%)
Mutual labels:  xilinx
EBAZ4205
Vivado and PetaLinux projects for Zynq EBAZ4205 Board
Stars: ✭ 38 (-9.52%)
Mutual labels:  xilinx
Openwifi
open-source IEEE 802.11 WiFi baseband FPGA (chip) design
Stars: ✭ 2,257 (+5273.81%)
Mutual labels:  xilinx
vivado-docker
Dockerfile with Vivado for CI
Stars: ✭ 22 (-47.62%)
Mutual labels:  xilinx
rfsoc sam
RFSoC Spectrum Analyser Module on PYNQ.
Stars: ✭ 44 (+4.76%)
Mutual labels:  pynq
ezdma
Simple, zero-copy DMA to/from userspace.
Stars: ✭ 70 (+66.67%)
Mutual labels:  xilinx

🚫 This repository has been archived. For up-to-date ResNet50 dataflow FPGA acceleration, please see FINN Examples.

Quantized ResNet50 Dataflow Acceleration on Alveo

This repository contains an implementations of a binary ResNet50 FINN-style dataflow accelerator targeting Alveo boards. It is intended as a showcase of achievable throughput and latency for ImageNet clasiffication on FPGA, using dataflow execution and on-chip weight storage.

Repo organization

The repository is organized as follows:

  • src: contains source code and submodules
    • hls: HLS custom building blocks and submodules to FINN librares (FINN and FINN-HLSLib)
    • w1a2-v1.0: pre-build weights, thresholds, directives and configuration files for Binary ResNet50
  • compile: contains scripts for accelerator compilation (Vivado HLS CSynth + Vivado Synthesis)
  • link: contains scripts for accelerator linking into the Alveo platform with Vitis
  • host: python and Jupyter host code, using PYNQ for Alveo

Building the Accelerator

The Accelerator is built using Vitis 2019.2. We recommend using this version, otherwise changes might be required to source and/or Makefiles for things to work.

To build the accelerator, clone the repository (using --recursive to pull submodules), after which:

cd ResNet50-PYNQ/compile
make NET=w1a2_v1.0
cd ../link
make

See the specific Compile and Link documentation for further info.

Running the Demo

After you have built the accelerator, you can install the required files in the host folder. Move in the cloned repo and do make install

cd ResNet50-PYNQ
make install

You can then run the included Jupyter notebook or the Python multithreaded inference example. If you want to use the distributed PYNQ python package, please read below. If you want to run example Python inference code, please see the host code documentation.

PYNQ quick start

Install the resnet50-pynq package using pip:

pip install resnet50-pynq

After the package is installed, to get your own copy of the available notebooks run:

pynq get-notebooks ResNet50

You can then try things out by doing:

cd pynq-notebooks
jupyter notebook

There are a number of additional options for the pynq get-notebooks command, you can list them by typing

pynq get-notebooks --help

You can also refer to the official PYNQ documentation for more information regarding the PYNQ Command Line Interface and in particular the get-notebooks command.

Supported Boards/Shells

Currently, we distribute the overlay only for the following Alveo boards and shells:

Shell Board
xilinx_u250_xdma_201830_2 Xilinx Alveo U250

Designs are built using Vitis 2019.2.

Author

Lucian Petrica @ Xilinx Research Labs.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].