面向软件程序员的数据中心加速简介 - 2022.1 简体中文

Vitis 统一软件平台文档 应用加速开发 (UG1393)

Document ID
UG1393
Release Date
2022-05-25
Version
2022.1 简体中文

如果您是 C/C++ 软件开发者并且希望使用基于 AMD FPGA 的 Alveo™ 加速器卡来加速自己的数据中心应用,那么本文档正是为您准备的。本指南的目标是为软件开发者介绍相关关键概念并提供一条途径,帮助其开始使用 Vitis 编译器和集成设计环境 (IDE) 来加速应用。

以下所提供的关键概念可用于在 FPGA 上创建加速应用,并实现较 CPU 更高的加速性能:

  • 为 CPU 编写的应用与为 FPGA 编写的应用之间存在很大差别,各种函数需经过重写后才能在 FPGA 上加速。在 CPU 上函数按顺序执行,显而易见,这些函数在 FPGA 上必须并行执行才能提升性能。
  • 为了达成应用加速,软件程序拆分为在 CPU 上运行的主机应用和在 Alveo 数据中心加速器卡上运行的计算函数或内核。XRT 运行时库可以提供 API 以支持主机应用与加速器卡上的内核进行交互。
  • 主机与全局存储器之间的数据传输会引发时延,这可能牺牲总体应用性能。为了在真实系统中实现加速,硬件加速内核所实现的性能必须大于数据传输所添加的时延。
  • 软件开发者应对原始应用进行剖析,识别可进行加速的函数。一旦明确目标函数后,就应确定每个内核的性能预算以满足整体应用性能目标。
  • 存储器层级在整体应用性能中扮演着关键角色。内核所访问的存储器应使用加载 - 计算 - 存储架构,按存储器读取和写入分组为不同函数。内核应尽可能访问连续存储器,访问次数应通过移除冗余访问或者创建本地高速缓存的方式来加以最优化。

我们鼓励您复查此处内容以及下列主题中所参考的扩展资料。复查本文档中列出的关键概念和示例以及扩展参考资料后,无论是搭建能满足您的性能需求的正确架构,还是开发或修改作为加速目标的现有函数,想必对您而言应该都已不在话下。