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