内核准备 - 2022.1 简体中文

Versal ACAP AI 引擎编程环境 用户指南 (UG1076)

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

内核属于计算函数,用于构成数据流 graph 规范的基本构建块。内核声明为普通 C/C++ 函数,可返回 void 并且可使用特殊数据类型作为实参(如 窗口和串流数据 API 中所述)。每个内核都必须在其自己的源文件内定义。推荐采用这种组织方式,这样可以保证可复用性并加速编译。此外,内核源文件应包含所有相关头文件,以允许独立编译。

注释: 为便于 AI 引擎内核使用 AI 引擎 API,请在内核源文件中包含以下文件:
  • #include "aie_api/aie.hpp"
  • #include "aie_api/aie_adf.hpp"

建议头文件(即本文档内的 kernels.h)应为 graph 内使用的所有内核声明函数原型。示例如下。

#ifndef FUNCTION_KERNELS_H
#define FUNCTION_KERNELS_H

void simple(input_window<cint16> * in, output_window<cint16> * out);

#endif

在此示例中,#ifndef#endif 均存在,这样即可确保仅包含一次 include 文件,也符合 C/C++ 最佳实践。