[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-doonny--PipeCNN":3,"tool-doonny--PipeCNN":64},[4,17,27,35,43,56],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":16},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,3,"2026-04-05T11:01:52",[13,14,15],"开发框架","图像","Agent","ready",{"id":18,"name":19,"github_repo":20,"description_zh":21,"stars":22,"difficulty_score":23,"last_commit_at":24,"category_tags":25,"status":16},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",138956,2,"2026-04-05T11:33:21",[13,15,26],"语言模型",{"id":28,"name":29,"github_repo":30,"description_zh":31,"stars":32,"difficulty_score":23,"last_commit_at":33,"category_tags":34,"status":16},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",107662,"2026-04-03T11:11:01",[13,14,15],{"id":36,"name":37,"github_repo":38,"description_zh":39,"stars":40,"difficulty_score":23,"last_commit_at":41,"category_tags":42,"status":16},3704,"NextChat","ChatGPTNextWeb\u002FNextChat","NextChat 是一款轻量且极速的 AI 助手，旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性，以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发，NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。\n\n这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言，它也提供了便捷的自托管方案，支持一键部署到 Vercel 或 Zeabur 等平台。\n\nNextChat 的核心亮点在于其广泛的模型兼容性，原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型，让用户在一个界面即可自由切换不同 AI 能力。此外，它还率先支持 MCP（Model Context Protocol）协议，增强了上下文处理能力。针对企业用户，NextChat 提供专业版解决方案，具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能，满足公司对数据隐私和个性化管理的高标准要求。",87618,"2026-04-05T07:20:52",[13,26],{"id":44,"name":45,"github_repo":46,"description_zh":47,"stars":48,"difficulty_score":23,"last_commit_at":49,"category_tags":50,"status":16},2268,"ML-For-Beginners","microsoft\u002FML-For-Beginners","ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程，旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周，包含 26 节精炼课程和 52 道配套测验，内容涵盖从基础概念到实际应用的完整流程，有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。\n\n无论是希望转型的开发者、需要补充算法背景的研究人员，还是对人工智能充满好奇的普通爱好者，都能从中受益。课程不仅提供了清晰的理论讲解，还强调动手实践，让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持，通过自动化机制提供了包括简体中文在内的 50 多种语言版本，极大地降低了全球不同背景用户的学习门槛。此外，项目采用开源协作模式，社区活跃且内容持续更新，确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路，ML-For-Beginners 将是理想的起点。",84991,"2026-04-05T10:45:23",[14,51,52,53,15,54,26,13,55],"数据工具","视频","插件","其他","音频",{"id":57,"name":58,"github_repo":59,"description_zh":60,"stars":61,"difficulty_score":10,"last_commit_at":62,"category_tags":63,"status":16},3128,"ragflow","infiniflow\u002Fragflow","RAGFlow 是一款领先的开源检索增强生成（RAG）引擎，旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体（Agent）能力相结合，不仅支持从各类文档中高效提取知识，还能让模型基于这些知识进行逻辑推理和任务执行。\n\n在大模型应用中，幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构（如表格、图表及混合排版），显著提升了信息检索的准确度，从而有效减少模型“胡编乱造”的现象，确保回答既有据可依又具备时效性。其内置的智能体机制更进一步，使系统不仅能回答问题，还能自主规划步骤解决复杂问题。\n\n这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统，还是致力于探索大模型在垂直领域落地的创新者，都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口，既降低了非算法背景用户的上手门槛，也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目，它正成为连接通用大模型与行业专有知识之间的重要桥梁。",77062,"2026-04-04T04:44:48",[15,14,13,26,54],{"id":65,"github_repo":66,"name":67,"description_en":68,"description_zh":69,"ai_summary_zh":69,"readme_en":70,"readme_zh":71,"quickstart_zh":72,"use_case_zh":73,"hero_image_url":74,"owner_login":75,"owner_name":76,"owner_avatar_url":77,"owner_bio":78,"owner_company":79,"owner_location":80,"owner_email":81,"owner_twitter":81,"owner_website":82,"owner_url":83,"languages":84,"stars":123,"forks":124,"last_commit_at":125,"license":126,"difficulty_score":127,"env_os":128,"env_gpu":129,"env_ram":129,"env_deps":130,"category_tags":136,"github_topics":137,"view_count":146,"oss_zip_url":81,"oss_zip_packed_at":81,"status":16,"created_at":147,"updated_at":148,"faqs":149,"releases":190},136,"doonny\u002FPipeCNN","PipeCNN","An OpenCL-based FPGA Accelerator for Convolutional Neural Networks","PipeCNN 是一个基于 OpenCL 的 FPGA 卷积神经网络（CNN）加速器，专为大规模 CNN 推理任务设计。它利用流水线化的 CNN 计算核，在 FPGA 上实现高效、可扩展的硬件加速，兼顾性能与资源利用率。面对传统 RTL 设计周期长的问题，PipeCNN 采用高层次综合（HLS）方法，通过 C\u002FC++ 或 OpenCL 编写算法并自动转换为硬件电路，显著提升开发效率。该工具同时支持 Intel OpenCL SDK 和 Xilinx Vitis 开发流程，已在多款主流 FPGA 开发板（如 Arria-10、ZCU102、U50 等）上验证运行，并提供 VGG-16 和 ResNet-50 的预量化模型及 ImageNet 分类演示。虽然其性能已不比当前最先进方案，但 PipeCNN 更侧重于提供一个完整、清晰的开源参考设计，适合 FPGA 与深度学习加速领域的研究人员、开发者或学生用于学习、教学或探索新型硬件加速架构。其核心亮点在于良好的可移植性、模块化设计以及对 OpenCL 跨平台特性的有效利用。","# PipeCNN\n\n## About \n**PipeCNN** is an OpenCL-based FPGA Accelerator for Large-Scale Convolutional Neural Networks (CNNs).\nThere is a growing trend among the FPGA community to utilize High Level Synthesis (HLS) tools to design\nand implement customized circuits on FPGAs. Compared with RTL-based design methodology, the HLS tools provide faster hardware development\ncycle by automatically synthesizing an algorithm in high-level languages (e.g. C\u002FC++) to RTL\u002Fhardware. [OpenCL™](https:\u002F\u002Fwww.khronos.org\u002Fopencl\u002F) is an open, emergying cross-platform parallel programming language that can be used in both GPU and FPGA developments. The main goal of this project is to provide a generic, yet efficient OpenCL-based design of CNN accelerator on FPGAs. PipeCNN utilizes ***Pipe**lined **CNN*** functional kernels to achieved improved throughput in inference computation. Our design is scalable both in performance and hardware resource, and thus can be deployed on a variety of FPGA platforms. PipeCNN supports both Intel OpenCL SDK and Xilinx Vitis based FPGA design flow.\n\n## How to Use\n\nFirst, download the pre-trained CNN models, input test vectors and golden reference files from PipeCNN's own ModelZoo (instructions are located in the \"data\" folder inside each project folder). Place the data in the correct folder. Then, compile the project by using the Makefile provided. After finishing the compilation, simply type the following command to run PipeCNN:\n```\n.\u002Frun.exe conv.aocx\n```\nThe ModelZoo now provides pre-quantized model for the following networks:\n* VGG-16\n* ResNet-50\n\nFor more detailed instructions, please check out the [User Instructions](https:\u002F\u002Fgithub.com\u002Fdoonny\u002FPipeCNN\u002Ftree\u002Fmaster\u002Fdocuments).\n\n## Supported Tools\nCurrently, we are using [Intel's OpenCL SDK](https:\u002F\u002Fwww.intel.com\u002Fcontent\u002Fwww\u002Fus\u002Fen\u002Fsoftware\u002Fprogrammable\u002Fsdk-for-opencl\u002Foverview.html) and [Xilinx Vitis](https:\u002F\u002Fchina.xilinx.com\u002Fproducts\u002Fdesign-tools\u002Fvitis\u002Fvitis-platform.html) tool kit to compile of the OpenCL\u002FHLS code and implementate of the generated RTL on FPGAs. \n\n* Intel OpenCL SDK Pro v20.1\n* Xilinx Vitis 2020.1\n\n## Tested Boards\nThe following boards have been tested working:\n* Terasic's DE5a-net-ddr4 (Arria-10 GX1150 FPGA)\n* Intel's Arria-10 Dev Kit (Arria-10 GX1150 FPGA)\n* Xilinx's U50 Acceleration Card (VU35P FPGA)\n* Xilinx's ZCU102 Dev Board (ZU9EG FPGA)\n* Xilinx's ZC706 Dev Board (Zynq-7045 FPGA)\n\nPipeCNN may also run on other FPGA boards, which includes Terasic's DE10-standard\u002FDE10-nano, Intel's PAC cards, Xilinx Ultra96-v2 boards. However, due to limited time and resourse, we have not verified that yet. Please let us know if you would like to share your results on other FPGA boards.\n\n## Demos\nNow you can run classification on the ImageNet dataset by using PipeCNN, and measure the top-1\u002F5 accuracy for different CNN models.\n\nTo run this demo, first, set **USE_OPENCV = 1** in the Makefile. Secondly, download the ImageNet validation dataset, extract and place all the pictures in the \"\u002Fdata\" folder. Rename the variable \"picture_file_path_head\" in the host file to indicate the correct image data set path. Finally, recompile the host program and run PipeCNN.\n\nThe following piture shows that the demo runs on our own computer with the DE5-net board.\n\n![DE5-net-Demo](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fdoonny_PipeCNN_readme_c1739d237c89.gif)\n\n## Performances\nIt's been four years since the release of the this project. Deep Learning Architecture (DLA) is constantly evolving, and lots of new techniques have been invented to improve the efficiency of DLA. The performance of PipeCNN is no longer comparable to the state-of-the-art designs. Therefore, the current goal of this project is to provide a complete design that can be used to learn DLA and try out new ideas. \n\nThis following table lists the performance and cost information on some of the boards we used as a reference. For each FPGA device, one needs to perform design space exploration (with hardware parameters VEC_SIZE, LANE_NUM and CONV_GP_SIZE_X) to find the optimal design that maximizes the throughput or minimizes the excution time. Suggested hardware parameters for the above boards are summarized [here](https:\u002F\u002Fgithub.com\u002Fdoonny\u002FPipeCNN\u002Ftree\u002Fmaster\u002Fdocuments). Since we are constantly optimzing the design and updating the codes, the performance data in the following table might be out-dated, and please use the latest version to get the exect data. We welcome other vendors\u002Fresearches to provide the latest performance and cost information on other FPGA platforms\u002Fboards.\n\n| Boards     | Excution Time* | Batch Size | DSP Consumed |  Frequency|\n| :--------: |--------------:| ----------:| ------------:|----------:|\n| DE5a-net-ddr4    |          -- |         -- |           --|     --|\n\n*Note: ResNet-50 was used as the benchmark. Image size is 227x227x3.\n\n## Citation\nPlease kindly cite our work of PipeCNN if it helped your research:\n```\nDong Wang, Ke Xu and Diankun Jiang, “PipeCNN: An OpenCL-Based Open-Source FPGA Accelerator for Convolution Neural Networks”, FPT 2017.\n```\nArchitectural and algorithm level optimizations can be conducted to further improve the performance of PipeCNN. We list a few latest research achievements that are based on PipeCNN for reference:\n* Improving the throughput by introducing a new opencl-friendly sparse-convolution algorithm\n```\nDong Wang, Ke Xu, Qun Jia and  Soheil Ghiasi, “ABM-SpConv: A Novel Approach to FPGA-Based Acceleration of Convolutional Neural Network Inference”, DAC 2019.\n```\n\n## Contributors\n\nThe following people have also contributed to this project:\n\n[Diankun Jiang](https:\u002F\u002Fgithub.com\u002Fdkjiang2018), [Ke Xu](https:\u002F\u002Fgithub.com\u002Fxuke225), Qun Jia, Jianjing An, Xiaoyun Wang, Shihang Fu, Zhihong Bai, Dezheng Zhang.\n\n## Research Opportunity\nOur Research Lab is also looking for outstanding students who are interested in designing hardware accelerator for deep-learning algorithms on FPGAs. Please send me a e-mail if you are interested.\n\n## Related Works\nThere are other FPGA accelerators that also adopt HLS-based design scheme. Some brilliant works are listed as follow. Note that PipeCNN is the first, and only one that is Open-Source （￣︶￣）↗\n* U. Aydonat, S. O'Connell, D. Capalija, A. C. Ling, and G. R. Chiu. \"An OpenCL™ Deep Learning Accelerator on Arria 10,\" *in Proc. FPGA 2017*.\n* N. Suda, V. Chandra, G. Dasika, A. Mohanty, Y. F. Ma, S. Vrudhula, J. S. Seo, and Y. Cao, \"Throughput-Optimized OpenCL-based FPGA accelerator for large-scale convolutional neural networks,\" *in Proc. FPGA 2016*.\n* C. Zhang, P. Li, G. Sun, Y. Guan, B. J. Xiao, and J. Cong, \"Optimizing FPGA-based accelerator design for deep convolutional neural networks,\" *in Proc. FPGA 2015*.\n","# PipeCNN\n\n## 关于  \n**PipeCNN** 是一个基于 OpenCL 的 FPGA 加速器，用于大规模卷积神经网络（Convolutional Neural Networks, CNNs）。FPGA 社区中正兴起一种趋势：利用高层次综合（High Level Synthesis, HLS）工具来设计和实现 FPGA 上的定制电路。与基于寄存器传输级（RTL）的设计方法相比，HLS 工具通过将高级语言（如 C\u002FC++）编写的算法自动综合为 RTL\u002F硬件，显著加快了硬件开发周期。[OpenCL™](https:\u002F\u002Fwww.khronos.org\u002Fopencl\u002F) 是一种开放且新兴的跨平台并行编程语言，可用于 GPU 和 FPGA 开发。本项目的主要目标是提供一种通用且高效的、基于 OpenCL 的 FPGA CNN 加速器设计方案。PipeCNN 采用 ***Pipe**lined **CNN***（流水线式 CNN）功能内核，以提升推理计算的吞吐量。我们的设计在性能和硬件资源方面均具备可扩展性，因此可部署于多种 FPGA 平台。PipeCNN 同时支持 Intel OpenCL SDK 和 Xilinx Vitis 的 FPGA 设计流程。\n\n## 使用方法\n\n首先，从 PipeCNN 自有的 ModelZoo 下载预训练的 CNN 模型、输入测试向量和黄金参考文件（具体说明位于每个项目文件夹内的 \"data\" 文件夹中）。将数据放置到正确的文件夹中。然后，使用提供的 Makefile 编译项目。编译完成后，只需输入以下命令即可运行 PipeCNN：\n```\n.\u002Frun.exe conv.aocx\n```\n目前 ModelZoo 提供了以下网络的预量化模型：\n* VGG-16\n* ResNet-50\n\n更多详细说明，请参阅 [用户指南](https:\u002F\u002Fgithub.com\u002Fdoonny\u002FPipeCNN\u002Ftree\u002Fmaster\u002Fdocuments)。\n\n## 支持的工具\n目前，我们使用 [Intel OpenCL SDK](https:\u002F\u002Fwww.intel.com\u002Fcontent\u002Fwww\u002Fus\u002Fen\u002Fsoftware\u002Fprogrammable\u002Fsdk-for-opencl\u002Foverview.html) 和 [Xilinx Vitis](https:\u002F\u002Fchina.xilinx.com\u002Fproducts\u002Fdesign-tools\u002Fvitis\u002Fvitis-platform.html) 工具包来编译 OpenCL\u002FHLS 代码，并在 FPGA 上实现生成的 RTL。\n\n* Intel OpenCL SDK Pro v20.1\n* Xilinx Vitis 2020.1\n\n## 已测试的开发板\n以下开发板已验证可正常工作：\n* Terasic DE5a-net-ddr4（Arria-10 GX1150 FPGA）\n* Intel Arria-10 开发套件（Arria-10 GX1150 FPGA）\n* Xilinx U50 加速卡（VU35P FPGA）\n* Xilinx ZCU102 开发板（ZU9EG FPGA）\n* Xilinx ZC706 开发板（Zynq-7045 FPGA）\n\nPipeCNN 也可能在其他 FPGA 开发板上运行，例如 Terasic 的 DE10-standard\u002FDE10-nano、Intel 的 PAC 加速卡、Xilinx Ultra96-v2 开发板等。但由于时间和资源有限，我们尚未验证这些平台。如果您在其他 FPGA 板卡上成功运行 PipeCNN，欢迎与我们分享结果。\n\n## 演示\n现在您可以使用 PipeCNN 在 ImageNet 数据集上运行图像分类，并测量不同 CNN 模型的 top-1\u002Ftop-5 准确率。\n\n要运行此演示，首先在 Makefile 中设置 **USE_OPENCV = 1**。其次，下载 ImageNet 验证数据集，解压并将所有图片放入 \"\u002Fdata\" 文件夹中。接着，在主机（host）代码中修改变量 \"picture_file_path_head\"，以指向正确的图像数据集路径。最后，重新编译主机程序并运行 PipeCNN。\n\n下图展示了该演示在我们本地计算机上配合 DE5-net 开发板运行的情况。\n\n![DE5-net-Demo](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fdoonny_PipeCNN_readme_c1739d237c89.gif)\n\n## 性能表现\n自本项目发布以来已过去四年。深度学习架构（Deep Learning Architecture, DLA）不断发展，许多新技术被提出以提升 DLA 的效率。PipeCNN 的性能已无法与当前最先进的设计相媲美。因此，本项目当前的目标是提供一个完整的设计方案，便于学习 DLA 并尝试新想法。\n\n下表列出了我们在部分开发板上测得的性能与资源消耗参考数据。对于每种 FPGA 器件，用户需进行设计空间探索（调整硬件参数 VEC_SIZE、LANE_NUM 和 CONV_GP_SIZE_X），以找到能最大化吞吐量或最小化执行时间的最优配置。上述开发板的推荐硬件参数汇总见 [此处](https:\u002F\u002Fgithub.com\u002Fdoonny\u002FPipeCNN\u002Ftree\u002Fmaster\u002Fdocuments)。由于我们持续优化设计并更新代码，下表中的性能数据可能已过时，请使用最新版本获取准确数据。我们也欢迎其他厂商或研究人员提供在其他 FPGA 平台\u002F开发板上的最新性能与资源消耗信息。\n\n| 开发板     | 执行时间* | Batch Size | 消耗 DSP 数量 | 工作频率 |\n| :--------: |--------------:| ----------:| ------------:|----------:|\n| DE5a-net-ddr4    |          -- |         -- |           --|     --|\n\n*注：以 ResNet-50 为基准测试模型，图像尺寸为 227x227x3。\n\n## 引用\n如果 PipeCNN 对您的研究有所帮助，请引用我们的工作：\n```\nDong Wang, Ke Xu and Diankun Jiang, “PipeCNN: An OpenCL-Based Open-Source FPGA Accelerator for Convolution Neural Networks”, FPT 2017.\n```\n可通过架构级和算法级优化进一步提升 PipeCNN 的性能。以下列出几项基于 PipeCNN 的最新研究成果供参考：\n* 通过引入一种对 OpenCL 友好的稀疏卷积算法提升吞吐量\n```\nDong Wang, Ke Xu, Qun Jia and  Soheil Ghiasi, “ABM-SpConv: A Novel Approach to FPGA-Based Acceleration of Convolutional Neural Network Inference”, DAC 2019.\n```\n\n## 贡献者\n\n以下人员也为本项目做出了贡献：\n\n[Diankun Jiang](https:\u002F\u002Fgithub.com\u002Fdkjiang2018)、[Ke Xu](https:\u002F\u002Fgithub.com\u002Fxuke225)、Qun Jia、Jianjing An、Xiaoyun Wang、Shihang Fu、Zhihong Bai、Dezheng Zhang。\n\n## 研究机会\n我们的实验室正在寻找对 FPGA 上深度学习算法硬件加速器设计感兴趣且优秀的同学。如果您有兴趣，请发送电子邮件给我。\n\n## 相关工作\n还有其他 FPGA 加速器也采用了基于 HLS 的设计方案。以下列出一些杰出的工作。请注意，PipeCNN 是首个且唯一开源的项目 （￣︶￣）↗\n* U. Aydonat, S. O'Connell, D. Capalija, A. C. Ling, and G. R. Chiu. \"An OpenCL™ Deep Learning Accelerator on Arria 10,\" *in Proc. FPGA 2017*.\n* N. Suda, V. Chandra, G. Dasika, A. Mohanty, Y. F. Ma, S. Vrudhula, J. S. Seo, and Y. Cao, \"Throughput-Optimized OpenCL-based FPGA accelerator for large-scale convolutional neural networks,\" *in Proc. FPGA 2016*.\n* C. Zhang, P. Li, G. Sun, Y. Guan, B. J. Xiao, and J. Cong, \"Optimizing FPGA-based accelerator design for deep convolutional neural networks,\" *in Proc. FPGA 2015*.","# PipeCNN 快速上手指南\n\n## 环境准备\n\n### 系统要求\n- 支持 OpenCL 的 FPGA 开发环境\n- 推荐使用以下已测试的开发板：\n  - Terasic DE5a-net-ddr4（Arria-10 GX1150）\n  - Intel Arria-10 Dev Kit\n  - Xilinx U50 加速卡（VU35P）\n  - Xilinx ZCU102（ZU9EG）\n  - Xilinx ZC706（Zynq-7045）\n\n### 前置依赖\n- **Intel 平台**：Intel FPGA SDK for OpenCL Pro v20.1  \n  （国内用户可访问 [Intel 官网](https:\u002F\u002Fwww.intel.com\u002Fcontent\u002Fwww\u002Fus\u002Fen\u002Fsoftware\u002Fprogrammable\u002Fsdk-for-opencl\u002Foverview.html) 下载）\n- **Xilinx 平台**：Xilinx Vitis 2020.1  \n  （建议通过 [Xilinx 中国官网](https:\u002F\u002Fchina.xilinx.com\u002Fproducts\u002Fdesign-tools\u002Fvitis\u002Fvitis-platform.html) 获取安装包以获得更快下载速度）\n- GNU Make\n- （可选）OpenCV（用于 ImageNet 图像分类 Demo）\n\n## 安装步骤\n\n1. 克隆项目仓库：\n   ```bash\n   git clone https:\u002F\u002Fgithub.com\u002Fdoonny\u002FPipeCNN.git\n   cd PipeCNN\n   ```\n\n2. 下载预训练模型和测试数据：  \n   按照各项目目录下 `data\u002F` 文件夹中的说明，从 PipeCNN 自带的 ModelZoo 下载对应数据（如 VGG-16 或 ResNet-50 的量化模型、输入向量和参考输出），并放入正确的目录。\n\n3. 编译项目：\n   ```bash\n   make\n   ```\n   > 若需启用 OpenCV 支持（如运行 ImageNet 分类 Demo），请先编辑 `Makefile`，设置 `USE_OPENCV = 1`，再执行 `make`。\n\n## 基本使用\n\n编译完成后，运行以下命令执行推理（以 `conv.aocx` 为例）：\n```bash\n.\u002Frun.exe conv.aocx\n```\n\n> **提示**：  \n> - 当前 ModelZoo 支持的网络包括 **VGG-16** 和 **ResNet-50**。  \n> - 如需运行 ImageNet 分类 Demo，请将验证集图片放入 `\u002Fdata` 目录，并在 host 代码中修改 `picture_file_path_head` 变量指向正确路径，然后重新编译并运行。","某高校边缘计算实验室正在开发一套部署在无人机上的实时图像识别系统，需在功耗受限的嵌入式 FPGA 平台上高效运行 ResNet-50 模型进行目标分类。\n\n### 没有 PipeCNN 时\n- 团队需从零开始用 Verilog 编写 CNN 硬件加速器，开发周期长达数月，且难以复用。\n- 缺乏对 OpenCL 的原生支持，无法直接利用已有的 C++ 算法代码，软硬件协同调试效率极低。\n- 在 ZCU102 开发板上运行未优化的推理程序，吞吐量不足 5 FPS，无法满足实时性要求。\n- 每次更换模型（如从 VGG-16 切换到 ResNet-50）都需要重新设计硬件架构，灵活性差。\n- 团队成员需深入掌握 RTL 设计和 FPGA 布局布线细节，学习门槛高，阻碍算法研究人员参与。\n\n### 使用 PipeCNN 后\n- 直接基于 PipeCNN 提供的 OpenCL 内核，在几天内完成 ResNet-50 的部署，大幅缩短开发周期。\n- 利用其预量化模型和配套 ModelZoo，无需手动转换权重，软硬件接口开箱即用。\n- 在相同 ZCU102 板卡上，借助流水线化卷积核设计，推理速度提升至 22 FPS，满足实时识别需求。\n- 通过调整 VEC_SIZE 和 LANE_NUM 等参数，轻松适配不同 CNN 模型，实现“一次开发、多模型部署”。\n- 算法工程师可直接使用 C++\u002FOpenCL 编写或修改逻辑，无需深入底层硬件细节，团队协作更高效。\n\nPipeCNN 将 FPGA 上 CNN 加速器的开发从复杂的硬件工程转变为高效的算法驱动流程，显著降低边缘智能系统的落地门槛。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fdoonny_PipeCNN_132daddb.png","doonny","Dong Wang","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fdoonny_4dd776df.jpg","Prof. at The Heterogeneous Computing Lab of Beijing Jiaotong University\r\n","Beijing Jiaotong University","Beijing, China",null,"http:\u002F\u002Ffaculty.bjtu.edu.cn\u002F8580\u002F","https:\u002F\u002Fgithub.com\u002Fdoonny",[85,89,93,97,101,105,109,113,117,120],{"name":86,"color":87,"percentage":88},"C","#555555",32.7,{"name":90,"color":91,"percentage":92},"C++","#f34b7d",26.9,{"name":94,"color":95,"percentage":96},"Verilog","#b2b7f8",21,{"name":98,"color":99,"percentage":100},"Shell","#89e051",8.8,{"name":102,"color":103,"percentage":104},"Tcl","#e4cc98",8.2,{"name":106,"color":107,"percentage":108},"Makefile","#427819",2.1,{"name":110,"color":111,"percentage":112},"Perl","#0298c3",0.2,{"name":114,"color":115,"percentage":116},"Common Lisp","#3fb68b",0,{"name":118,"color":119,"percentage":116},"Fortran","#4d41b1",{"name":121,"color":122,"percentage":116},"Batchfile","#C1F12E",1373,374,"2026-03-31T17:25:01","Apache-2.0",5,"Linux","未说明",{"notes":131,"python":129,"dependencies":132},"需使用支持 OpenCL 的 FPGA 开发板（如 Intel Arria-10 或 Xilinx Zynq\u002FUltraScale+ 系列）；编译和运行依赖厂商提供的 FPGA 工具链（Intel OpenCL SDK 或 Xilinx Vitis）；若运行 ImageNet 分类演示，需安装 OpenCV 并准备 ImageNet 验证集图像数据。",[133,134,135],"OpenCL SDK Pro v20.1","Xilinx Vitis 2020.1","OpenCV",[13],[138,139,140,141,142,143,144,145],"opencl","fpga-accelerator","hls","hardware","altera-opencl-sdk","fpga","deep-learning","deep-neural-networks",4,"2026-03-27T02:49:30.150509","2026-04-06T05:16:47.948944",[150,155,160,165,170,175,180,185],{"id":151,"question_zh":152,"answer_zh":153,"source_url":154},178,"出现 ERROR: CL_INVALID_BINARY 错误怎么办？","该错误通常是因为 OpenCL 二进制文件（如 .aocx）与当前 FPGA 平台或 SDK 版本不兼容。确保你使用与编译时相同的 Intel FPGA SDK for OpenCL 版本运行程序，并确认 vendor_name 设置正确（例如 Altera 开发板应设为 \"altera\"）。此外，需在目标 FPGA 板卡上运行，而非主机环境。","https:\u002F\u002Fgithub.com\u002Fdoonny\u002FPipeCNN\u002Fissues\u002F57",{"id":156,"question_zh":157,"answer_zh":158,"source_url":159},179,"编译时报错 'read_channel_altera' 和 'write_channel_altera' 不被支持怎么办？","这些函数是 Altera\u002FIntel FPGA SDK 的扩展函数，仅在特定版本中支持。请确保使用兼容的 Intel FPGA SDK for OpenCL 版本（如 16.0 或 17.1），并确认已正确包含头文件和 RTL 库。若使用较新 SDK，可能需要替换为标准通道函数或启用相应编译选项。","https:\u002F\u002Fgithub.com\u002Fdoonny\u002FPipeCNN\u002Fissues\u002F3",{"id":161,"question_zh":162,"answer_zh":163,"source_url":164},180,"如何生成 fc8.dat 文件用于自定义数据集？","fc8.dat 文件包含分类层的权重和偏置，需从训练好的 Caffe 模型中提取。请参考项目 data 目录下的 README 文件，使用提供的 Python 脚本（如 extract_weights.py）加载 CaffeNet 模型并导出 fc8 层参数为二进制格式。","https:\u002F\u002Fgithub.com\u002Fdoonny\u002FPipeCNN\u002Fissues\u002F88",{"id":166,"question_zh":167,"answer_zh":168,"source_url":169},181,"编译时遇到 “file format not recognized” 关于 libopencv_co.so 的错误怎么办？","此错误通常是由于 OpenCV 库版本不兼容或交叉编译环境配置错误导致。建议使用与目标平台（如 ARM）匹配的 OpenCV 版本（推荐 3.x 系列），并确保通过正确的交叉编译工具链（如 gcc-linaro）编译 OpenCV 库，而非直接使用主机版库文件。","https:\u002F\u002Fgithub.com\u002Fdoonny\u002FPipeCNN\u002Fissues\u002F77",{"id":171,"question_zh":172,"answer_zh":173,"source_url":174},182,"如何在 Arria 10 GX 等 FPGA 卡上运行 PipeCNN 示例？","首先需使用 Intel FPGA SDK for OpenCL 编译生成 .aocx 文件，然后将项目 host 程序和 .aocx 文件部署到 FPGA 开发板（如 DE10-Nano）的 Linux 系统中。无需安装 CUDA 或完整 ImageNet 数据库；示例图像可自行准备，但需确保 OpenCV 和 OpenCL 驱动已正确安装。","https:\u002F\u002Fgithub.com\u002Fdoonny\u002FPipeCNN\u002Fissues\u002F74",{"id":176,"question_zh":177,"answer_zh":178,"source_url":179},183,"运行 .\u002Frun.exe 时提示 GLIBC_2.17 未找到怎么办？","该错误表明系统 glibc 版本过低（当前为 2.15，需 ≥2.17）。解决方法是升级操作系统（如从 Ubuntu 14.04 升级到 16.04 或更高），或在满足依赖的环境中重新编译 run.exe。维护者建议参考 Intel FPGA SDK 19.3 用户手册，确保 GCC 和系统库版本符合要求。","https:\u002F\u002Fgithub.com\u002Fdoonny\u002FPipeCNN\u002Fissues\u002F135",{"id":181,"question_zh":182,"answer_zh":183,"source_url":184},184,"编译时出现 “Undefined Reference CV::_OutputArray::_OutputArray(cv::Mat&)” 错误怎么办？","此错误通常由 OpenCV 版本不兼容引起（如使用了 OpenCV 3.3.0 但链接方式不匹配）。建议使用与项目兼容的 OpenCV 3.x 版本，并确保在 Makefile 中正确指定 OpenCV 的 include 和 lib 路径。若进行交叉编译，需使用 ARM 工具链（如 gcc-linaro-6.4.1）编译 OpenCV 库。","https:\u002F\u002Fgithub.com\u002Fdoonny\u002FPipeCNN\u002Fissues\u002F79",{"id":186,"question_zh":187,"answer_zh":188,"source_url":189},185,"编译时出现 “collect2: error: ld returned 1 exit status” 链接失败怎么办？","该错误常因在主机（x86）上尝试编译 ARM 目标程序导致。应确保在正确的编译流程下操作：若设置 PLATFORM=arm32，则需使用 ARM 交叉编译工具链，并在 FPGA 开发板的 Linux 环境中运行最终程序，而非在主机上直接链接。","https:\u002F\u002Fgithub.com\u002Fdoonny\u002FPipeCNN\u002Fissues\u002F45",[]]