文件最后提交记录最后更新时间
uid初始化attr支持default流程 Co-authored-by: zhangyunqi<zhangyunqi5@huawei.com> # message auto-generated for no-merge-commit merge: !226 merge defaultfix into master uid初始化attr支持default流程 Created-by: zhangyunqi Commit-by: zhangyunqi Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> uid初始化attr支持default流程 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #123--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/shmem/issues/180 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ![image.png](https://raw.gitcode.com/user-images/assets/8546182/daa66ca2-6ae6-47b3-9112-0767ba620683/image.png 'image.png') ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/shmem!2262 个月前
uid初始化attr支持default流程 Co-authored-by: zhangyunqi<zhangyunqi5@huawei.com> # message auto-generated for no-merge-commit merge: !226 merge defaultfix into master uid初始化attr支持default流程 Created-by: zhangyunqi Commit-by: zhangyunqi Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> uid初始化attr支持default流程 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #123--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/shmem/issues/180 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ![image.png](https://raw.gitcode.com/user-images/assets/8546182/daa66ca2-6ae6-47b3-9112-0767ba620683/image.png 'image.png') ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/shmem!2262 个月前
uid初始化attr支持default流程 Co-authored-by: zhangyunqi<zhangyunqi5@huawei.com> # message auto-generated for no-merge-commit merge: !226 merge defaultfix into master uid初始化attr支持default流程 Created-by: zhangyunqi Commit-by: zhangyunqi Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> uid初始化attr支持default流程 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #123--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/shmem/issues/180 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ![image.png](https://raw.gitcode.com/user-images/assets/8546182/daa66ca2-6ae6-47b3-9112-0767ba620683/image.png 'image.png') ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/shmem!2262 个月前
uid初始化attr支持default流程 Co-authored-by: zhangyunqi<zhangyunqi5@huawei.com> # message auto-generated for no-merge-commit merge: !226 merge defaultfix into master uid初始化attr支持default流程 Created-by: zhangyunqi Commit-by: zhangyunqi Merged-by: cann-robot Description: ## 描述 <!--在这里详细描述你的改动,包括改动的原因和所采取的方法。--> uid初始化attr支持default流程 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #123--> <!-- 如果这个PR是为了解决特定的问题单,请在这里描述问题单单号。--> https://gitcode.com/cann/shmem/issues/180 ## 测试 <!--描述进行了哪些测试来验证你的改动。包括但不限于二级冒烟、算子泛化等。--> ![image.png](https://raw.gitcode.com/user-images/assets/8546182/daa66ca2-6ae6-47b3-9112-0767ba620683/image.png 'image.png') ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [x] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/shmem!2262 个月前
README.md

使用方式

1. 编译项目

default以外的流程执行需要自行安装并导入MPI环境变量安装参考 该用例基于mpich实现,安装Open MPI或其他MPI如果遇到报错可能需要自行调整脚本中mpi相关参数。

# mpich安装在默认路径时可参考,需根据实际情况替换。
export PATH=/usr/local/mpich/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/mpich/lib:$LD_LIBRARY_PATH

shmem/ 根目录下执行编译脚本:

bash scripts/build.sh
source install/set_env.sh
2. 运行 init 用例

用例目录

cd examples/init

用例接收两个参数,第一个参数指定流程,第二个参数指定pe数量(不能超过卡数)。不指定时默认mode = default,pesize = 2。 执行 default 流程,2 pe

bash run.sh -mode default -pesize 2

执行 mpi 流程,2 pe

bash run.sh -mode mpi -pesize 2

执行 uid 流程,2 pe

bash run.sh -mode uid -pesize 2

执行 uid_multi 流程,4 pe

# enpxxx需要替换为ip addr指令获得的网卡
export SHMEM_UID_SOCK_IFNAME=enpxxxxxxx:inet4

bash run.sh -mode uid_multi -pesize 4

unset SHMEM_UID_SOCK_IFNAME

执行 uid_default 流程,2 pe

bash run.sh -mode uid_default -pesize 2
3. 跨机运行

执行 default 流程,双机,每个机器2 pe,在两台机器分别执行如下命令。

# pe0所在机器
bash run.sh -mode default -pesize 4 -fpe 0 -gnpus 2 -ipport ${该机器的ip:port}
# 其他机器
bash run.sh -mode default -pesize 4 -fpe 2 -gnpus 2 -ipport ${pe0机器的ip:port}

执行 mpi/uid 流程,双机,每个机器2 pe。 这两个流程依赖mpi能力,跨机需自行配置hostfile文件,以mpich配置文件为例

# 请替换成实际机器的ip,且保证pe0机器在最前面,冒号后配置每个机器支持启动的pe数,pe数需小于卡数,建议每台机器启动pe数量一致。
0.0.0.1:2
0.0.0.2:2

mpirun要求多机可执行文件位置一致,请先用相同mode编译所有机器上的样例。如果mode不一致会导致报错或者卡死。

bash run.sh -build -mode mpi #uid流程则讲mode参数改为uid

然后在pe0执行 mpi流程

# gnpu参数用来指定每台设备自身的pe数,在所有机器启动卡数一致时,设置为单机pe数量可以保证都从0卡开始启动。
bash run.sh -mode mpi -gnpus 2

uid流程

bash run.sh -mode uid -gnpus 2 -ipport ${pe0机器的ip:port}

如果想再次以 mpi/uid 模式执行单机用例推荐删除hostfile文件