Atvoss 项目目录结构说明
项目概述
Atvoss 是一个基于 AscendC 的高性能深度学习算子开发框架,提供声明式算子定义和自动代码生成能力。
根目录结构
atvoss/
├── CMakeLists.txt # 顶层 CMake 构建配置
├── README.md # 项目说明文档
├── version.info # 版本信息
├── docs/ # 项目文档目录
├── examples/ # 示例代码目录
├── include/ # 头文件目录(核心框架)
├── scripts/ # 构建脚本目录
└── tests/ # 测试代码目录
include/ 核心头文件目录
include/
├── atvoss.h # 主入口头文件
│
├── common/ # 公共工具和类型定义
│ ├── arch.h # 软件架构平台定义
│ ├── platform_info.h # 编译信息
│ └── type_def.h # 类型定义
│
├── expression/ # 表达式系统
│ └── expr_template.h # 表达式模板(DeclareUnaryOp/DeclareBinaryOp宏定义)
│
├── evaluator/ # 求值器系统
│ └── eval_base.h # 求值器基类和接口定义
│
├── operators/ # 算子定义和实现
│ ├── math_expression.h # 数学表达式声明(Sqrt/Exp/Abs等)
│ ├── tensor_expression.h # 张量表达式定义
│ └── tile_shape.h # Tiling 形状配置
│
├── elewise/ # 逐元素操作模板
│ ├── block/ # Block 层实现
│ │ ├── builder.h # Block 构建器
│ │ └── schedule.h # Block 调度器
│ ├── kernel/ # Kernel 层实现
│ │ ├── builder.h # Kernel 构建器
│ │ └── schedule.h # Kernel 调度器
│ ├── device/ # Device 层实现
│ │ └── device_adapter.h # Device 适配器
│ └── tile/ # Tile 层实现
│ └── tile_evaluate.h # Tile 求值器
│
├── graph/ # 计算图系统
│ ├── buffer.h # Buffer 管理
│ ├── dag.h # DAG 图实现
│ └── expr_linearizer.h # 表达式线性化
│
└── utils/ # 工具函数
├── tensor.h # 张量工具
├── utility.h # 通用工具
└── log.h # 日志工具
...
examples/ 示例代码目录
examples/
├── CMakeLists.txt # 示例整体构建配置
├── README.md # 示例使用说明
├── common/ # 公共示例代码
│ └── example_common.h # 示例通用功能
│
├── muls/ # Muls 标量乘法示例
│ ├── muls.cpp # Muls 算子实现
│ └── CMakeLists.txt # 构建配置
│
├── abs/ # Abs 绝对值示例
└── python_extension/ # Python 扩展示例
├── CMakeLists.txt
├── setup.py
└── csrc/
└── extension.cpp
docs/ 文档目录
docs/
├── quick_start.md # 快速开始指南
├── summary.md # 项目整体介绍
├── directory_structure.md # 项目目录结构
├── api/ # API文档目录
├── tutorials/ # 教程
│ └── developer_guide.md # 算子开发指南
└── images/ # 文档配图
tests/ 测试目录
tests/
├── CMakeLists.txt # 测试构建配置
│
├── st/ # 系统测试(System Tests)
│ ├── CMakeLists.txt
│ ├── test_op_*.cpp # 各算子测试
│ ├── test_compute_*.cpp # 计算相关测试
│ └── test_tile_*.cpp # Tile 相关测试
│
└── ut/ # 单元测试(Unit Tests)
├── host/ # 主机端测试
│ ├── test_arguments.cpp
│ └── test_expr_linearizer.cpp
├── builtin_kernel/ # 内置 Kernel 测试
└── compile_perf/ # 编译性能测试
scripts/ 构建脚本目录
scripts/
└── build.sh # 主要构建脚本
# 支持参数:-DSOC=<arch>
# 示例:./scripts/build.sh -DSOC=ascend950 sin