{"id":13444297,"url":"https://github.com/Xilinx/DPU-PYNQ","last_synced_at":"2025-03-20T18:32:03.146Z","repository":{"id":40631324,"uuid":"260070291","full_name":"Xilinx/DPU-PYNQ","owner":"Xilinx","description":"DPU on PYNQ","archived":false,"fork":false,"pushed_at":"2024-01-24T09:54:53.000Z","size":76229,"stargazers_count":184,"open_issues_count":8,"forks_count":64,"subscribers_count":16,"default_branch":"master","last_synced_at":"2024-04-27T00:23:28.896Z","etag":null,"topics":["pynq"],"latest_commit_sha":null,"homepage":"","language":"Tcl","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Xilinx.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-04-29T23:43:53.000Z","updated_at":"2024-06-21T17:46:29.059Z","dependencies_parsed_at":"2022-07-14T04:10:41.120Z","dependency_job_id":"0f77510b-a45a-462c-a80e-3784f4afc500","html_url":"https://github.com/Xilinx/DPU-PYNQ","commit_stats":{"total_commits":46,"total_committers":12,"mean_commits":"3.8333333333333335","dds":0.6304347826086957,"last_synced_commit":"208a3d5175e19c0d7e2cc342aacb19b36b7738a6"},"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Xilinx%2FDPU-PYNQ","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Xilinx%2FDPU-PYNQ/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Xilinx%2FDPU-PYNQ/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Xilinx%2FDPU-PYNQ/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Xilinx","download_url":"https://codeload.github.com/Xilinx/DPU-PYNQ/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":221792892,"owners_count":16881289,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["pynq"],"created_at":"2024-07-31T03:02:23.969Z","updated_at":"2025-03-20T18:32:03.141Z","avatar_url":"https://github.com/Xilinx.png","language":"Tcl","funding_links":[],"categories":["Tcl"],"sub_categories":[],"readme":"# DPU on PYNQ\n\nThis repository holds the PYNQ DPU overlay. Specifically, the Vitis AI DPU is included in the accompanying bitstreams with example training and inference notebooks ready to run on PYNQ enabled platforms. Steps are also included to rebuild the designs in Vitis and can be ported onto PYNQ-enabled Zynq Ultrascale+ boards. \n\nThis release of DPU-PYNQ supports PYNQ 3.0 and Vitis AI 2.5.0.\n\n## Board Support\n\nDPU-PYNQ is available for a wide range of boards and devices, some of which may not have official PYNQ images available, however the platforms and overlays can still be used in a variety of custom accelerator applications.\n\n| Platform  | DPU Architecture  | Number of cores  | Verified  |\n|---        |:---:              |:---:             |:---:      |\n| KR260 SOM       | B4096  | 1  | Yes  |\n| KV260 SOM       | B4096  | 1  | Yes  |\n| Pynq-ZU         | B4096  | 1  | Yes  |\n| RFSoC2x2        | B4096  | 2  | Yes  |\n| RFSoC4x2        | B4096  | 2  | Yes  |\n| Ultra96v2       | B1600  | 1  | Yes  |\n| ZCU104          | B4096  | 2  | Yes  |\n| ZCU111          | B4096  | 2  | Yes  |\n| ZCU208          | B4096  | 2  | Yes  |\n| Genesys ZU-5EV  | B4096  | 1  |   |\n| T1 Telco RFSoC  | B4096  | 2  |   |\n| T1 Telco MPSoc  | B4096  | 2  |   |\n| TySOM-3A-ZU19EG | B4096  | 2  |   |\n| TySOM-3-ZU7EV   | B4096  | 2  |   |\n| Ultra96v1       | B1600  | 1  |   |\n| UltraZed-EG     | B4096  | 1  |   |\n| ZCU102          | B4096  | 2  |   |\n| ZCU106          | B4096  | 2  |   |\n| ZCU1285         | B4096  | 2  |   |\n| ZCU216          | B4096  | 2  | Yes  |\n| ZUBoard-1CG     | B800   | 1  |   |\n\nDPU overlays for most boards have been built using the B4096 architecture with 1 or 2 cores, compatible with the KV260/ZCU102/ZCU104 models in the Vitis AI Model Zoo. For a selection of smaller boards, like the Ultra96 and ZUBoard-1CG custom arch.json files are provided that will allow you to compile .xmodel files for those boards.\n\n## Quick Start\n\n### 1. Install\n\nTo install pynq-dpu on your PYNQ-enabled board, in the Jupyter Lab terminal, simply run:\n\n```shell\npip3 install pynq-dpu --no-build-isolation\n```\n\nThen go to your jupyter notebook home folder and fetch the notebooks:\n\n```shell\ncd $PYNQ_JUPYTER_NOTEBOOKS\npynq get-notebooks pynq-dpu -p .\n```\n\nThis will make sure the desired notebooks show up in your jupyter notebook \nfolder.\n\n### 1.b [Optional] Install from ssh/serial\n\nIf you are installing the package from an ssh or serial terminal instead of Jupyter Lab (e.g. using the usb network connection on the Ultra96 -- `ssh xilinx@192.168.3.1`).\n\nMake sure you login as `root` (e.g., `sudo su`) and source the pynq profile scripts before installing the pynq_dpu package.\n\n```shell\n. /etc/profile.d/xrt_setup.sh\n. /etc/profile.d/pynq_venv.sh\npip3 install pynq-dpu --no-build-isolation\n```\n\n### 2. Run\n\nYou are ready to go! Now in jupyter, you can explore the notebooks \nin the `pynq-dpu` folder.\n\n## Selftest and Contributing\n\nIf you have a board that hasn't been marked as verified in the above table, you can use the new built-in tests to verify if DPU-PYNQ works on your device as intended. To verify that your installation was successful, without opening any notebooks you can run the tests that are part of the pynq_dpu package. Simply run:\n\n```shell\npython3 -m pytest --pyargs pynq_dpu\n```\n\nIf the tests are successful please feel free to make a contribution to the above table by opening an pull request and updating the markdown entry for that board.\n\n## Rebuild DPU Block Design\n\nThe DPU IP comes from the [Vitis Ai Github](https://github.com/Xilinx/Vitis-AI/tree/v2.5).\nIf you want to rebuild the hardware project, you can refer to the\n[instructions for the DPU Hardware Design](./boards/README.md).\n\nIn short, the following files will be generated in `boards/\u003cBoard\u003e` folder:\n\n1. `dpu.bit`\n2. `dpu.hwh`\n3. `dpu.xclbin`\n\nThese are the overlay files that can be used by the `pynq_dpu` package.\n\n## Rebuild DPU Models\n\n[DPU models](https://github.com/Xilinx/Vitis-AI/tree/v2.5) \nare available on the Vitis AI GitHub repository [model zoo](https://github.com/Xilinx/Vitis-AI/tree/v2.5/model_zoo),\nwhere you can find a model-list containing quantized models, as well as pre-compiled .xmodel files\nthat can be directly loaded into your DPU application.\n\nIf you want to recompile the DPU models or train your own network, you can refer to the\n[instructions for DPU models](./host/README.md).\n\n\n----\n----\n\nCopyright (C) 2021 Xilinx, Inc\n\nSPDX-License-Identifier: Apache-2.0\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FXilinx%2FDPU-PYNQ","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FXilinx%2FDPU-PYNQ","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FXilinx%2FDPU-PYNQ/lists"}