会员
周边
新闻
博问
闪存
赞助商
YouClaw
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
博客园
首页
新随笔
联系
订阅
管理
2026年4月10日
在 Vivado 中使用 RQA 与 RQS 帮助时序收敛
摘要: 当设计无法达到目标性能时,可以借助 Vivado 提供的 Report QoR Assessment(RQA)与 Report QoR Suggestions(RQS)进行分析,并据此选择后续的优化方向。RQA 用于评估当前设计的 QoR 状态,RQS 则在此基础上给出可执行的优化建议。二者配合使用
阅读全文
posted @ 2026-04-10 19:35 木杉的园子
阅读(18)
评论(0)
推荐(0)
2026年1月2日
使用 PCIe 对 FPGA 进行部分动态重构
摘要: 数据中心 FPGA 中多数配置了 PCIe IP 用于与主机进行数据传输,还可以利用 PCIe 链路用于 FPGA 配置。本博客将介绍在 Xilinx FPGA 上使用 PCIe 进行 DFX 配置的流程。 UltraScale 器件引入了 Media Configuration Access Po
阅读全文
posted @ 2026-01-02 11:01 木杉的园子
阅读(190)
评论(0)
推荐(0)
2025年12月19日
如何使用 FPGA 推理大模型 (4) - 运行推理
摘要: 在上一部分中,我们已经完成了硬件平台的搭建,并成功地将包含加速核心的比特流烧写进 FPGA 中。现在,FPGA 已经具备了执行加速计算的能力。 本部分将重点介绍如何在主机端搭建推理框架,并调用 FPGA 对其中的计算进行加速。 1. 搭建推理框架 推理框架是对模型推理过程作专门优化的工具套件。主流的
阅读全文
posted @ 2025-12-19 21:29 木杉的园子
阅读(151)
评论(0)
推荐(0)
如何使用 FPGA 推理大模型 (3) - 硬件平台搭建
摘要: 在上一部分中,我们已经完成了加速核心的编写,并通过 Vitis-HLS 将其综合为可以被 Vivado 使用的 IP。 本部分将重点介绍如何在 Vivado 中搭建完整的硬件平台。 1. 平台概览 在进行具体的 IP 配置之前,我们首先看一下 FPGA 硬件平台的整体结构,如下图所示。 可以看到,硬
阅读全文
posted @ 2025-12-19 21:26 木杉的园子
阅读(198)
评论(0)
推荐(0)
如何使用 FPGA 推理大模型 (2) - 加速核心编写
摘要: 在这一部分中,我们将重点介绍如何在 FPGA 上编写加速核心,以加速大模型推理过程中最关键的计算环节。 与在 CPU 上通过指令顺序执行程序不同,FPGA 的核心优势在于可以将计算过程直接“固化”为硬件结构,从而实现高度并行的执行方式。针对特定计算任务进行的硬件定制,正是 FPGA 能够获得加速效果
阅读全文
posted @ 2025-12-19 21:19 木杉的园子
阅读(175)
评论(0)
推荐(0)
如何使用 FPGA 推理大模型 (1) - 简介
摘要: 近年来,大语言模型(Large Language Models, LLMs)已经成为人工智能领域最重要的技术方向之一。从对话系统到代码生成,再到各类智能助手,模型规模和应用场景都在不断扩展。然而,与模型能力同步增长的,是推理阶段对算力、能耗和系统效率的持续压力。 目前,大多数大模型推理仍然依赖 GP
阅读全文
posted @ 2025-12-19 21:16 木杉的园子
阅读(270)
评论(0)
推荐(0)
2025年10月8日
编程笔记 - C++ 完美转发
摘要: C++ 完美转发是泛型编程里一个关键特性,用来在模板函数中保持参数的“原始值类别”(lvalue/rvalue)和属性(const、引用)。 背景 在模板编程中,函数参数往往需要被“原封不动”地传递到另一个函数。例如: 如果传入的是左值,就要继续作为左值传给目标函数; 如果传入的是右值,就要继续作为
阅读全文
posted @ 2025-10-08 11:31 木杉的园子
阅读(38)
评论(0)
推荐(0)
编程笔记 - C++ 移动语义
摘要: C++11 引入了移动语义,它的出现主要是为了解决对象频繁拷贝带来的性能开销问题。移动语义的核心思想是:当对象的资源不再需要时,可以“转移”它的内部资源,而不是进行昂贵的深拷贝。 背景 在传统 C++ 中,函数参数传递或者返回值通常依赖拷贝构造函数。比如,在调用函数前,通常需要在调用者的作用域中创建
阅读全文
posted @ 2025-10-08 11:11 木杉的园子
阅读(43)
评论(0)
推荐(0)
编程笔记 - C++ 引用和指针的区别
摘要: 在 C++ 中,指针(Pointer)和引用(Reference)都用于间接访问变量,但是它们在语法和语义上都有显著的差异。指针是一个变量,它可以保存另一个变量的内存地址;引用是另一个变量的别名,由编译器进行处理,使用时与使用原变量无异。 指针和引用使用的一些差异如下: 初始化 指针:可以先定义后赋
阅读全文
posted @ 2025-10-08 09:44 木杉的园子
阅读(63)
评论(0)
推荐(0)
2025年10月4日
数据结构 - 跳表 Skip List
摘要: 跳表(Skip List)是一种用于查找的类似于链表的数据结构,是对有序链表的改进,能够在 \(O(\log{n})\) 时间内完成增加、删除、查找操作。跳表相比于树堆与红黑树,其功能与性能相当,并且跳表的代码长度相较下更短。 1. 什么是跳表 跳表包含多个层级,每个层级包含一个有序的短链表。在跳表
阅读全文
posted @ 2025-10-04 20:52 木杉的园子
阅读(57)
评论(0)
推荐(0)
下一页
公告