模板库快速上手

环境准备

说明:请先行确认基础依赖NPU驱动和固件已安装。

  1. 安装社区版CANN toolkit包

根据您所使用的昇腾产品类别,请下载对应的CANN开发套件包Ascend-cann-toolkit_{version}_linux-{arch}.run,下载链接见CANN toolkit(有关CATLASS的版本支持情况详见软件硬件配套说明)。

随后安装CANN开发套件包(详情参考CANN安装指南)。

# 确保安装包有可执行权限
chmod +x Ascend-cann-toolkit_{version}_linux-{arch}.run
# 安装CANN toolkit包
./Ascend-cann-toolkit_{version}_linux-{arch}.run --full --force --install-path=${install_path}
  • {version}: CANN包版本号。
  • {arch}: 系统架构。
  • {install_path}: 指定安装路径,默认为/usr/local/Ascend

其他在线安装方式可参考CANN 快速安装

  1. 使能CANN 环境

安装完成后,执行下述指令即完成CANN环境使能。

# 默认路径安装,以root用户为例(非root用户,将/usr/local替换为${HOME})
source /usr/local/Ascend/ascend-toolkit/set_env.sh
# 指定路径安装
# source ${install_path}/set_env.sh
  1. 下载源码

将CATLASS代码仓下载到本地。

# 下载项目源码,以master分支为例
git clone https://gitcode.com/cann/catlass.git

编译执行

模板库提供了一套可复用的模板、基础组件,赋能矩阵乘法算子开发,算子样例可见样例目录

  1. 样例编译

进入项目根目录,可执行下述编译指令:

bash scripts/build.sh [options] <target>

basic_matmul样例编译过程为例,执行下述指令(若为Ascend950,需要添加-DCATLASS_ARCH=3501):

# 编译算子组件
bash scripts/build.sh 00_basic_matmul

若有下述提示信息,则编译成功。

"[INFO] Target "{target}" built successfully."
  1. 算子执行

算子编译产物在output/bin路径下,切换至该目录下可运行算子样例程序。 以[basic_matmul]样例为例,可通过下述指令执行该算子:

# 切换至编译产物目录
cd output/bin
# ./00_basic_matmul m n k [deviceId]
./00_basic_matmul 256 512 1024 0
  • 2565121024分别为矩阵乘法在m轴、n轴、k轴的维度(左/右矩阵数据随机生成)
  • deviceId可选(默认为0),指定NPU卡的ID号。

执行该算子样例后,如出现下述结果则表明其计算符合精度预期(该样例中Matmul的左、右矩阵使用随机数填充,真值以cpu计算为准)。

Compare success.

请进一步参考Host侧代码组装指南以开始第一个算子开发。