代码组织结构

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

存放相关脚本。
脚本具体功能和使用