# 代码组织结构 ## ACLSHMEM组织结构 ``` ├── docs // 项目文档 ├── examples // ACLSHMEM样例 ├── include // 项目头文件 ├── scripts // 项目编译脚本存放目录 ├── src // 项目源代码 └── tests // UT测测试工程目录 ``` ## include ``` include目录下的头文件是按照如下文件层级进行组织的 |── include | |── aclshmem_api.h // aclshmem所有对外API | |── aicore | |── mte | |── aicore_mte_rma.h // 数据面远端内存访问底层接口 | |── aicore_amo.h // 数据面原子操作接口 | |── aicore_init.h // 数据面初始化和查询接口 | |── aicore_rma.h // 数据面远端内存访问接口 | |── aicore_sync.h // 数据面同步接口 | |── aicore_team.h // 数据面通信域管理接口 | |── host | |── aclshmem_mm.h // 控制面对外接口 | |── host_def.h // 控制面基础类型定义及日志模块定义 | |── internal | |── host | └── memory_heap.h // 控制面内存堆定义 ``` ## src ``` |── src | |── mem // 控制面接口实现 | |── python // python接口封装 │ ├─aclshmem // python对外接口 │ └─test // python测试用例 ``` ## examples ``` ├─examples │ ├─allgather // allgather算子实现样例 │ ├─demo_rma_8p // put&get数据传输接口使用样例 │ ├─demo_rma_scalar_8p // put&get scalar数据传输接口使用样例 │ ├─demo_rma_scalar_8p_d2h // device-host间数据传输接口使用样例 │ ├─perf_test // 性能样例 │ ├─ring_bcase // ring broadcast算子实现样例 │ ├─ring_reduce // ring reduce算子实现样例 │ ├─utils // 辅助工具 │ └─rank_table.json // 环境配置文件示例 ``` ## tests ``` └─tests └─ut ├─src ├─mem // 控制面接口单元测试 └─stub // 外部依赖接口单元测试打桩 ``` ## docs ``` ├─docs │ ├─00_quick_start.md // 快速开始 │ ├─04_developer_guid.md // 开发者指南 │ ├─def.md // 基础数据类型定义 │ ├─device_api.md // 数据面api索引 │ ├─device_api_init_query.md // 数据面PE初始化和查询api列表 │ ├─device_api_p2p_sync.md // 数据面点对点同步api列表 │ ├─device_api_signal.md // 数据面信号操作api列表 │ ├─device_api_team.md // 数据面PE分组管理api列表 │ ├─device_api_rma.md // 数据面远程内存访问api列表 │ ├─host_api.md // 控制面接口列表 │ ├─index.md // aclshmem api索引 │ ├─python_api.md // aclshmem python api列表 | └── script_guide.md // 编译脚本使用指南 ``` ## scripts 存放相关脚本。 [脚本具体功能和使用](03_scripts_guide.html)