CANN/ops-solver Sgetri算子测试
Sgetri算子实现
【免费下载链接】ops-solver本项目是CANN提供的高级数值求解算子库,实现矩阵分解、求逆、特征值求解等功能在NPU上的加速计算。项目地址: https://gitcode.com/cann/ops-solver
概述
Solver Sgetri算子实现。
支持的产品
- Atlas A3 训练系列产品/Atlas A3 推理系列产品
- Atlas A2 训练系列产品/Atlas A2 推理系列产品
目录结构介绍
├── sgetri │ ├── CMakeLists.txt // 编译工程文件 │ ├── README.md // 说明文档 │ ├── sgetri_test.cpp // 算子调用样例 │ └── data // 测试数据目录 │ ├── gen_data.py // 生成测试数据脚本 │ └── verify_result.py // 验证结果脚本算子描述
算子功能: Sgetri算子计算实数矩阵的逆矩阵,对应的数学表达式为: $$A^{-1}A = I$$ 其中$A$为$n \times n$阶非奇异实数方阵,$I$为$n$阶单位矩阵。
算子规格:
算子类型(OpType) Sgetri 算子输入 name shape data type Description format n [1] INT64 矩阵A的行数和列数 \ A [n, n] FLOAT32 输入矩阵A,行主序,通常为Sgetrf分解后的L和U矩阵 ND lda [1] INT64 A左右相邻元素间的内存地址偏移量(当前约束为N) \ info [1] INT32 求逆结果信息 \ 算子输出 A [n, n] FLOAT32 输出的逆矩阵 ND info [1] INT32 求逆结果信息 \ 核函数名 sgetri_kernel 算子约束:无。
调用实现 使用内核调用符<<<>>>调用核函数。
编译运行
在本样例根目录下执行如下步骤,编译并执行算子。
配置环境变量 请根据当前环境上CANN开发套件包的安装方式,选择对应配置环境变量的命令。
默认路径,root用户安装CANN软件包
source /usr/local/Ascend/cann/set_env.sh默认路径,非root用户安装CANN软件包
source $HOME/Ascend/cann/set_env.sh指定路径install_path,安装CANN软件包
source ${install_path}/cann/set_env.sh
样例执行
bash build.sh --ops=sgetri --run # --ops=<算子名> --run可选参数,执行测试样例执行结果如下,说明精度对比成功。
[Success] Case accuracy is verification passed.
【免费下载链接】ops-solver本项目是CANN提供的高级数值求解算子库,实现矩阵分解、求逆、特征值求解等功能在NPU上的加速计算。项目地址: https://gitcode.com/cann/ops-solver
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
