编译与构建
SHMEM编译
下载SHMEM源码
git clone https://gitcode.com/cann/shmem.git
您可自行选择需要的分支。
编译
进入shmem的根目录,编译
cd shmem
bash scripts/build.sh
更多命令介绍可查看shmem仓主目录下的README.md和scripts/build.sh文件。
SHMEM编译相关说明
SHMEM的基本编译命令是bash build.sh,默认构建模式下生成版本信息,并创建安装包(默认情况下不会编译RDMA能力、用例、测试、python接口)。后可跟参数,实现不同功能:
-use_cxx11_abi1:启用C++11 ABI,默认-use_cxx11_abi0:禁用C++11 ABI-cann:CANN 8.5以上版本可以使用CANN开放接口编译-uttests:构建tests/unittest目录下所有ut用例-examples:构建examples目录下所有用例-enable_rdma:构建并启用RDMA相关能力-enable_ascendc_dump:启用AscendC_Dump模式,用于对算子内核代码进行调测-package:构建py扩展的whl包-gendoc:生成文档-onlygendoc: 生成文档,不构建源码-debug:设置构建类型为Debug模式-mssanitizer:example启用mssanitizer内存检测工具,脚本执行需用mssanitizer拉起任务才能实际生效,当前暂不支持,allgather样例运行脚本提供了tool选项使用工具。工具使用方法参见异常检测工具(msSanitizer,MindStudio Sanitizer)-soc_type:如果SOC是Ascend950类别,需要增加-soc_type Ascend950参数,可以通过npu-smi info命令查看,其他SOC可不加该参数。
SHMEM关键文件介绍
scripts目录:install.sh: 安装脚本uninstall.sh: 卸载脚本build.sh: 编译脚本release.sh:全自动构建与打包脚本set_env.sh:SHMEM的环境变量设置文件
配置文件
编译文件build.sh
文件名:scripts/build.sh
SHMEM编译文件,一般无需更改。
环境变量设置文件set_env.sh
文件名:scripts/set_env.sh
SHMEM安装完成后,提供进程级环境变量设置脚本set_env.sh,以自动完成环境变量设置,用户进程结束后自动失效。