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

AI 引擎内核与计算图编程指南 (UG1079)

Document ID
UG1079
Release Date
2023-12-04
Version
2023.2 简体中文

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

  • 所有自适应数据流 (ADF) 计算图类定义(即,衍生自计算图类 adf::graph 的所有 ADF 计算图)都必须位于头文件中。在同一个头文件中可包含多个 ADF 计算图定义。该类头文件应包含在 main 应用文件中,并在此文件的文件作用域内声明实际顶层计算图。
  • 所包含的头文件的顺序应不存在任何依赖关系。所有头文件都必须为自包含文件,并且包含其所需的所有其他头文件。
  • 在计算图头文件中不应包含任何文件作用域内的变量或数据结构定义。任何定义(包括 static)都必须在单独的源文件内声明,可在引用这些源文件的内核的 header 属性中识别这些源文件(请参阅 查找表)。
  • 仅允许通过 adf::source 将单个源文件指定为内核源文件。在单独的源文件(例如,util.hpputil.cpp)中将子函数定义为库时,变通方法是:
    • 将所有库源文件都包含在单个头文件内(例如,lib.hpp):
      #pragma once
      #include <util.hpp>
      #include <util.cpp>
    • 然后,将 lib.hpp 头文件包含在内核源文件中。