建议的工程目录结构 - 2022.1 简体中文

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

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

建议采用以下目录结构和编码实践来组织您的 AI 引擎工程,以便明确其用途且便于复用。

  • 所有自适应数据流 (ADF) graph 类定义(即,衍生自 graph 类 adf::graph 的所有 ADF graph)都必须位于头文件中。在同一个头文件中可包含多个 ADF graph 定义。该类头文件应包含在 main 应用文件中,在此文件中,实际顶层 graph 在文件作用域内声明(请参阅 创建数据流 graph(包含内核))。
  • 所包含的头文件的顺序应不存在任何依赖关系。所有头文件都必须为自包含文件,并且包含其所需的所有其它头文件。
  • 在 graph 头文件中不应包含任何文件作用域内的变量或数据结构定义。任何定义(包括 static)都必须在单独的源文件内声明,可在引用这些源文件的内核的 header 属性中识别这些源文件(请参阅 查找表)。
  • 无需在 extern "C" {...} 下声明这些内核。但在运行全程序仿真的应用内可使用这些声明,并且这些声明必须遵循下列条件:
    • 如果以 extern "C" 卷绕内核函数声明,那么定义必须已知此声明。方法是将头文件包含在定义文件内或者以 extern "C" 卷绕此定义。
    • 必须以 #ifdef __cplusplus 来卷绕 extern "C"。这与在 stdio.h 内使用 extern "C" 的方式同义。