CANN/ops-blas Scopy算子实现
Scopy算子实现【免费下载链接】ops-blas本项目是CANN提供的高性能线性代数计算以及轻量化GEMM调用算子库。项目地址: https://gitcode.com/cann/ops-blas概述BLAS Scopy算子实现同时支持Ccopy复数向量复制。支持的接口aclblasScopy: 实数向量复制将x的数据拷贝到yaclblasCcopy: 复数向量复制复用scopy kernel实现支持的产品Atlas A3 训练系列产品/Atlas A3 推理系列产品Atlas A2 训练系列产品/Atlas A2 推理系列产品目录结构介绍├── scopy │ ├── CMakeLists.txt // 编译工程文件 │ ├── README.md // 说明文档 │ └── scopy_test.cpp // 算子调用样例算子描述算子功能scopy算子实现了将x上的数据拷贝到y。对应的数学表达式为y xaclblasScopy接口实数向量复制int aclblasScopy(float *x, float *y, const int64_t n, const int64_t incx, const int64_t incy, void *stream);aclblasCcopy接口复数向量复制复用scopy kernelint aclblasCcopy(std::complexfloat *x, std::complexfloat *y, const int64_t n, const int64_t incx, const int64_t incy, void *stream);复数向量存储为连续的实部、虚部交替的float数组2n个float元素直接调用scopy kernel处理2n个float元素即可完成复数向量复制。算子规格算子类型(OpType)Add算子输入nameshapedata typeformatx8 * 2048floatNDy8 * 2048floatND算子输出z8 * 2048floatND核函数名scopy_kernel算子实现将输入数据从输入x的GM地址搬运到UB再搬出到输入y所在的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 --opsscopy --run # --ops算子名 --run可选参数执行测试样例执行结果如下说明精度对比成功。[Success] Case accuracy is verification passed.【免费下载链接】ops-blas本项目是CANN提供的高性能线性代数计算以及轻量化GEMM调用算子库。项目地址: https://gitcode.com/cann/ops-blas创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2599009.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!