Vitis 工具链的底层重构与系统设计创新

Vitis Unified IDE 的架构重构

  • 框架迁移:从旧版专有框架迁移到 Eclipse Theia (前端)+ Electron。这意味着 Vitis 现在是一个基于现代 Web 技术的轻量级 IDE, 与 VS Code 的体验类似
  • 数据驱动:所有的组件原数据从二进制 JSON/YAML 格式,极大地友好了版本控制(git)
  • 现代化 CLI:命令行接口全面采取 python 语言,便于脚本化和自动化

硬件描述的新标准——System device Tree (SDT)

  • 创新点:废弃了使用了十几年的 .xsa (Xilinx Shell Archive)硬件描述文件
  • 贡献:引入了 SDT(.dts/dtsi)。这是嵌入式 Linux 的标准,现在被 AMD 用来描述整个 FPGA/SoC 硬件(包括内存映射、处理器集群)
  • 工具链支持:引入“Lopper”工具,专门用于读取 SDT 并自动生成驱动配置和 BSP,实现了真正的“系统感知(System Aware)”

异构系统设计的关键突破:分段配置(Segmented Cofiguration)

以前在 Versal 等平台上,如果想修改 AI 引擎(AIE)或 PL(可编程逻辑)部分,往往需要重新打包整个系统镜像并重启 Linux

  • 创新: 实现了 PS 与 PL/AIE 的解耦
    • Flat Flow vs. Segmented Configuration: 传统的 Flat Flow 是一次性加载所有内容。新的分段配置允许 PS 和 DDR NoC 先启动(运行 Linux),然后将 PL 和 AI 引擎的数据作为“独立荷载”加载
    • 技术实现:Host App 可以直接读取 xclbin 中元数据,并通过 fpga_util 等工具在 Linux 运行时动态加载 pl.pdi

Vitis HLS 等“性能驱动”开发方法论

Performance Pragma (性能编译指令)

  • 开发者需要手动组合 PIPELINE,UNROLL. ARRAY_PARTITION (数组分区)等数十种 Pragma。这需要深厚的硬件知识、一旦更换芯片,所有的 Pragma 可能都需要重写
  • 引入 pragma HLS performance target_ti=… (Target Transcation Interval)
    • 自动化推导:用户只需要告诉编译器:“我想在 300 MHz”下每秒处理 140 帧图像(即 TI=2142857 周期)。编译器会自动计算并插入底层的 pipeline/unroll 指令来满足这个目标
    • 反向注解:工具自动生成的优化指令可以被导出,反写回用户的源码或配置文件中,供专家级用户进行二次微调

自动化的循环分析

  • 创新点:C-sim Profilling with Loop Trip Counts
  • 细节:以前处理动态循环,用户必须手动告诉工具循环次数。现在,Vitis 可以在 C 仿真阶段自动捕获循环的运行次数,并将其作为性能估算的依据,无需人工干预

性能成果

53 个设计可以成功达到 500MHZ

LLM 辅助 EDA 设计

直接问 LLM 写 HLS 代码行不通,必须采用“元提示”(Meta Prompting)策略,并发布了基于 AI 的新工具链

LLM 在 HLS 中的局限与突破

  • 实验背景: 基于中国 FPGA 竞赛(HLS 赛道),154 份有效提交,学生使用 GPT-4/DeepSeek 优化 SHA256, LZ4, Cholesky 等算法。
  • 关键发现:
    • Zero-Shot (直接提问) 失败率高: LLM 对 HLS 这种“类 C 但非 C”的语法理解很差,经常生成不仅无法综合,甚至破坏数据依赖(Data Dependency)的代码。
    • 创新——Meta Prompting (元提示):仅仅把 LLM 当编码器是不够的,必须把它当作“架构师”
      • Task-Level Prompt: 强制 LLM 采用 Load-Compute-Store(LCS)架构模式,将顺序代码重构为数据流(Dataflow)形式
        • Data-Level Prompt: 注入知识库,在 Prompt 中包含 Vitis HLS 官方文档的精简版(例如:解释 cyclic 分区和 clock 分区的区别)让 LLM 基于规则写代码
    • 成果: 采用 Meta Prompting 的学生,其设计性能比基线提升了 6.5 倍

Vitis IDE 的 AI 路线图 (CRAI)

  • 2025.2 (Early Access): BYOK (Bring Your Own Key) 模式。允许用户在 Vitis IDE 内直接挂载自己的 OpenAI/Local LLM API key,实现代码解释和辅助。
  • 2026.1 (Future):
    • AI Performance Budgeter: AI 自动分析性能瓶颈并分配时序预算。
    • RAG Chatbot: 基于 AMD 官方文档训练的专用问答机器人(解决通用大模型幻觉问题)。

端侧 AI (Edge AI) 与具身智能 (Robotics)

创新主旨: 利用 AMD 独有的“大统一内存”架构,打通从云端训练到边缘部署的完整链路,解决机器人领域的 Sim2Real 难题。

1.硬件创新:Ryzen AI Max (Strix Halo) 的架构优势

  • 核心参数: 40 CU GPU + 50 TOPS NPU。
  • 杀手级特性:128GB 统一内存 (Unified Memory)
    • 对比竞品: 传统的 CPU+独立显卡架构,数据需要在内存和显存之间通过 PCIe 搬运,不仅慢而且受限于显存大小(通常仅 16GB-24GB)。
    • 贡献: Ryzen AI 允许 CPU、GPU 和 NPU 共享这 128GB 内存。这意味着可以在笔记本/Mini PC 这种边缘设备上,直接加载运行 70B(700亿参数)级别的超大模型,无需量化或剪枝。

2.具身智能全栈工作流 (The Embodied AI Pipeline)

AMD 展示了一套完整的机器人开发闭环:

  • Step 1 云端训练: 使用 Instinct MI300 集群训练 OpenVLA (Vision-Language-Action) 模型。
  • Step 2 物理仿真: 使用开源仿真器 Genesis
    • 创新: 该仿真器支持 AMD GPU 加速,可以在虚拟环境中并行训练数千个机器人代理(Agent),例如训练机器狗走过崎岖地形。
  • Step 3 Sim2Real (仿真到现实):
    • 难点: 仿真图像与真实世界有色差和纹理差异(Domain Gap)。
    • 解决方案: 使用 Ryzen AI 收集少量真实数据,进行域适应 (Domain Adaptation) 微调。
  • Step 4 边缘部署: 将微调后的 VLA 模型部署在搭载 Ryzen AI 的机械臂控制柜中,实现对动态物体的抓取和操作。

3. 学术生态支持 (Ryzers & AIPC Cluster)

  • AIPC Cluster: 演示了一种低成本方案,用 20+ 个 Mini PC 组成集群,功耗低、噪音小,但总显存极大,适合实验室环境。
  • Ryzers: 这是一个开源项目,提供了预配置好的 Docker 容器,包含 ROS2、PyTorch、Triton 等全套环境,解决环境配置难的问题

参考资料

*PPT 及其图示来自 FPT 2025 AMD Turtorial