Cscal算子实现【免费下载链接】ops-blas本项目是CANN提供的高性能线性代数计算以及轻量化GEMM调用算子库。项目地址: https://gitcode.com/cann/ops-blas概述BLAS Cscal算子实现。Cscal(Complex Scale)算子实现了复数向量缩放运算是BLAS基础线性代数库中的核心算子之一。该算子实现复数向量乘以复数标量(abi)*(cdi) (ac-bd) (adbc)i支持的产品Atlas A3 训练系列产品/Atlas A3 推理系列产品Atlas A2 训练系列产品/Atlas A2 推理系列产品目录结构介绍├── cscal │ ├── CMakeLists.txt // 编译工程文件 │ ├── README.md // 说明文档 │ └── cscal_test.cpp // 算子调用样例算子描述算子功能cscal算子实现了复数向量x乘以复数标量alpha。对应的数学表达式为x alpha * x复数乘法公式(real, imag) * (alpha_r, alpha_i) (real*alpha_r - imag*alpha_i, real*alpha_i imag*alpha_r)对应的接口int aclblasCscal(aclblasHandle handle, std::complexfloat *x, const std::complexfloat alpha, const int64_t n, const int64_t incx);参数cscal 参数说明参数列表Param.Memoryin/out含义handlehostinACL流handle用于传入stream。xdevicein/out复数向量包含n个complex 元素。alphahostin用于乘法的复数标量。nin向量x中的复数元素个数。incxinx中连续元素之间的步长。算子规格算子类型(OpType)Cscal算子输入nameshapedata typeformatx8 * 2048complexND算子输出x8 * 2048complexND核函数名cscal算子实现将复数向量从GM搬运到UB使用vreducev2进行虚实分离分别计算实部实部、实部虚部、虚部实部、虚部虚部再使用add_v合并结果最后通过vgather进行虚实合并并搬运回GM。调用实现使用内核调用符调用核函数。编译运行在本样例根目录下执行如下步骤编译并执行算子。配置环境变量请根据当前环境上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 --opscscal --run # --ops算子名 --run可选参数执行测试样例执行结果如下说明精度对比成功。[Success] Case accuracy is verification passed. [PASS] cscal_test【免费下载链接】ops-blas本项目是CANN提供的高性能线性代数计算以及轻量化GEMM调用算子库。项目地址: https://gitcode.com/cann/ops-blas创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
CANN/ops-blas Cscal算子实现
发布时间:2026/6/1 3:46:41
Cscal算子实现【免费下载链接】ops-blas本项目是CANN提供的高性能线性代数计算以及轻量化GEMM调用算子库。项目地址: https://gitcode.com/cann/ops-blas概述BLAS Cscal算子实现。Cscal(Complex Scale)算子实现了复数向量缩放运算是BLAS基础线性代数库中的核心算子之一。该算子实现复数向量乘以复数标量(abi)*(cdi) (ac-bd) (adbc)i支持的产品Atlas A3 训练系列产品/Atlas A3 推理系列产品Atlas A2 训练系列产品/Atlas A2 推理系列产品目录结构介绍├── cscal │ ├── CMakeLists.txt // 编译工程文件 │ ├── README.md // 说明文档 │ └── cscal_test.cpp // 算子调用样例算子描述算子功能cscal算子实现了复数向量x乘以复数标量alpha。对应的数学表达式为x alpha * x复数乘法公式(real, imag) * (alpha_r, alpha_i) (real*alpha_r - imag*alpha_i, real*alpha_i imag*alpha_r)对应的接口int aclblasCscal(aclblasHandle handle, std::complexfloat *x, const std::complexfloat alpha, const int64_t n, const int64_t incx);参数cscal 参数说明参数列表Param.Memoryin/out含义handlehostinACL流handle用于传入stream。xdevicein/out复数向量包含n个complex 元素。alphahostin用于乘法的复数标量。nin向量x中的复数元素个数。incxinx中连续元素之间的步长。算子规格算子类型(OpType)Cscal算子输入nameshapedata typeformatx8 * 2048complexND算子输出x8 * 2048complexND核函数名cscal算子实现将复数向量从GM搬运到UB使用vreducev2进行虚实分离分别计算实部实部、实部虚部、虚部实部、虚部虚部再使用add_v合并结果最后通过vgather进行虚实合并并搬运回GM。调用实现使用内核调用符调用核函数。编译运行在本样例根目录下执行如下步骤编译并执行算子。配置环境变量请根据当前环境上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 --opscscal --run # --ops算子名 --run可选参数执行测试样例执行结果如下说明精度对比成功。[Success] Case accuracy is verification passed. [PASS] cscal_test【免费下载链接】ops-blas本项目是CANN提供的高性能线性代数计算以及轻量化GEMM调用算子库。项目地址: https://gitcode.com/cann/ops-blas创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考