代码组织结构
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
存放相关脚本。
脚本具体功能和使用