# 快速上手 ## CANN安装指南 开发者可访问[昇腾文档-昇腾社区](https://www.hiascend.com/document)->CANN社区版->软件安装,查看CANN软件安装引导,根据机器环境、操作环境和业务场景选择后阅读详细安装步骤。
CANN包安装完成后,设置CANN环境变量:
```sh # root用户安装(默认路径) source /usr/local/Ascend/latest/bin/set_env.sh # 安装路径也可以是自己指定的路径${install_path},如: source ${install_path}/latest/bin/set_env.sh ``` ## ACLSHMEM编译运行准备 ### 1. ACLSHMEM库编译
```sh cd aclshmem bash scripts/build.sh --package --python_extension ``` - {project_root}/package/{arch}/路径下会生成ACLSHMEM_{version}_linux-{arch}.run - {project_root}/src/python/dist/路径下会生成aclshmem-xxx.whl 注:build.sh脚本参数介绍及使用可参考[脚本使用指南](03_scripts_guide.html) ### 2. 安装ACLSHMEM包
软件包名为:ACLSHMEM\_{version}\_linux-{arch}.run
其中,{version}表示软件版本号,{arch}表示CPU架构。
安装run包(需要依赖CANN环境,请确保完成CANN安装)
```sh chmod +x 软件包名.run # 增加对软件包的可执行权限 ./软件包名.run --check # 校验软件包安装文件的一致性和完整性 ./软件包名.run --install --install-path=${install_path} # 安装软件,可使用--help查询相关安装选项,--install-path=可以指定任意目录,若不使用--install-path=方式指定装包目录的话,默认装包路径是/usr/local/Ascend/ ``` 出现提示`xxx install success!`则安装成功 ### 3. 安装python wheel包
在aclshmem/src/python/dist目录下,安装wheel包 ```sh pip3 install aclshmem-xxx.whl --force-reinstall ``` ### 4. 设置ACLSHMEM库环境变量
```sh # root用户安装(默认路径) source /usr/local/Ascend/aclshmem/latest/set_env.sh # 安装路径也可以是自己指定的路径${install_path},如: source ${install_path}/aclshmem/latest/set_env.sh ``` ## rank_table.json配置 样例运行前需先通过rank_table.json配置环境资源信息,可参考[rank table文件配置资源信息](https://www.hiascend.com/document/detail/zh/canncommercial/83RC1/hccl/hcclug/hcclug_000014.html) ```json { "status":"completed", // rank table可用标识,completed为可用 "version":"1.0", // rank table模板版本信息,配置为:1.0 "server_count":"2", // 参与训练的AI Server数目,此例中,有两个AI Server "server_list": [ { "server_id":"node_0", //AI Server标识,String类型,请确保全局唯一 "device":[ // AI Server中的Device列表 { "device_id":"0", // 处理器的物理ID "device_ip":"192.168.1.8", // 处理器真实网卡IP "device_port":"16667", // 处理器的网卡监听端口 "rank_id":"0" // rank的标识,从0开始配置,请确保全局唯一 }, { "device_id":"1", "device_ip":"192.168.1.9", "device_port":"16667", "rank_id":"1" } ] }, { "server_id":"node_1", "device":[ { "device_id":"0", "device_ip":"192.168.2.8", "device_port":"16667", "rank_id":"2" }, { "device_id":"1", "device_ip":"192.168.2.9", "device_port":"16667", "rank_id":"3" } ] } ] } ``` ## 样例运行验证 ### 1. 在源码aclshmem目录下编译: ```sh bash scripts/build.sh --examples ``` ### 2. 执行[demo_rma_scalar_8p](https://gitcode.com/cann/aclshmem-dev/blob/master/examples/demo_rma_scalar_8p/README.md): ```sh ./build/bin/demo_rma_scalar_8p # 即上一节配置的rank_table.json文件存放路径 ``` 其他样例用法及样例说明,可参考examples/目录下各样例README.md