news 2026/7/5 19:36:16

CANN稀疏算子文档模板

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
CANN稀疏算子文档模板

{aclsparseXxx} 算子文档

【免费下载链接】ops-sparse本项目是CANN提供的高性能稀疏矩阵计算的算子库,专注于优化稀疏矩阵的计算效率。项目地址: https://gitcode.com/cann/ops-sparse

算子概述

{功能描述 + 数学表达式}

接口列表

接口名说明

产品支持情况

芯片系列支持情况
Ascend910B
Ascend910_93
Ascend950
Ascend310P

接口详情

{aclsparseXxx}

函数原型
aclsparseStatus_t {aclsparseXxx}(...);
参数说明
参数名输入/输出参数类型说明内存位置
约束说明
约束说明

支持的稀疏格式

格式支持说明
CSR
COO
CSC

调用示例

Generic API 风格(仅 Generic 算子保留,删除 Legacy 示例)

// 1. 创建 handle aclsparseHandle_t handle; aclsparseCreate(&handle); aclsparseSetStream(handle, stream); // 2. 创建稀疏矩阵描述符 aclsparseConstSpMatDescr_t matA; aclsparseCreateConstCsr(&matA, rows, cols, nnz, csrRowOffsets, csrColInd, csrValues, ACL_SPARSE_INDEX_32I, ACL_SPARSE_INDEX_32I, ACL_SPARSE_INDEX_BASE_ZERO, ACL_FLOAT); // 3. 创建稠密向量描述符 aclsparseConstDnVecDescr_t vecX; aclsparseCreateConstDnVec(&vecX, n, x, ACL_FLOAT); aclsparseDnVecDescr_t vecY; aclsparseCreateDnVec(&vecY, m, y, ACL_FLOAT); // 4. 获取缓冲区大小 size_t bufferSize; aclsparseXxxGetBufferSize(handle, ..., &bufferSize); // 5. 分配缓冲区 void *buffer; aclrtMalloc(&buffer, bufferSize, ACL_MEM_MALLOC_HUGE_FIRST); // 6. 预处理(若需要) aclsparseXxxPreprocess(handle, ..., buffer); // 7. 执行计算 aclsparseXxx(handle, ..., buffer); // 8. 同步 aclrtSynchronizeStream(stream); // 9. 清理 aclsparseDestroySpMat(matA); aclsparseDestroyDnVec(vecX); aclsparseDestroyDnVec(vecY); aclrtFree(buffer); aclsparseDestroy(handle);

Legacy API 风格(仅 Legacy 算子保留,删除 Generic 示例)

// 1. 创建 handle aclsparseHandle_t handle; aclsparseCreate(&handle); aclsparseSetStream(handle, stream); // 2. 准备数据指针(直接扁平传入,无描述符) float *d_dl, *d_d, *d_du, *d_x; aclrtMalloc((void**)&d_dl, (m-1) * sizeof(float), ACL_MEM_MALLOC_HUGE_FIRST); aclrtMalloc((void**)&d_d, m * sizeof(float), ACL_MEM_MALLOC_HUGE_FIRST); aclrtMalloc((void**)&d_du, (m-1) * sizeof(float), ACL_MEM_MALLOC_HUGE_FIRST); aclrtMalloc((void**)&d_x, m * sizeof(float), ACL_MEM_MALLOC_HUGE_FIRST); aclrtMemcpy(d_dl, ..., h_dl, ..., ACL_MEMCPY_HOST_TO_DEVICE); aclrtMemcpy(d_d, ..., h_d, ..., ACL_MEMCPY_HOST_TO_DEVICE); aclrtMemcpy(d_du, ..., h_du, ..., ACL_MEMCPY_HOST_TO_DEVICE); aclrtMemcpy(d_x, ..., h_b, ..., ACL_MEMCPY_HOST_TO_DEVICE); // 3. MatDescr(若接口需要) aclsparseMatDescr_t matDescr; aclsparseCreateMatDescr(&matDescr); aclsparseSetMatType(matDescr, ACL_SPARSE_MATRIX_TYPE_GENERAL); aclsparseSetMatIndexBase(matDescr, ACL_SPARSE_INDEX_BASE_ZERO); // 4. 获取 workspace 大小(若接口提供 bufferSize 函数) size_t bufferSize = 0; aclsparseS{xxx}_bufferSize(handle, ..., &bufferSize); void *pBuffer = nullptr; if (bufferSize > 0) { aclrtMalloc(&pBuffer, bufferSize, ACL_MEM_MALLOC_HUGE_FIRST); } // 5. 调用算子(带精度前缀) aclsparseS{xxx}(handle, ..., pBuffer); // 6. 同步 aclrtSynchronizeStream(stream); // 7. 清理 if (pBuffer) aclrtFree(pBuffer); aclsparseDestroyMatDescr(matDescr); // 若有 aclrtFree(d_dl); aclrtFree(d_d); aclrtFree(d_du); aclrtFree(d_x); aclsparseDestroy(handle);

【免费下载链接】ops-sparse本项目是CANN提供的高性能稀疏矩阵计算的算子库,专注于优化稀疏矩阵的计算效率。项目地址: https://gitcode.com/cann/ops-sparse

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/5 19:33:32

Missionary实战指南:构建高性能异步数据管道的7个技巧

Missionary实战指南:构建高性能异步数据管道的7个技巧 【免费下载链接】missionary A functional effect and streaming system for Clojure/Script 项目地址: https://gitcode.com/gh_mirrors/mi/missionary Missionary是Clojure/Script生态系统中一个强大的…

作者头像 李华
网站建设 2026/7/5 19:33:26

PromptPilot:智能提示词工程的工业革命与实践指南

摘要 PromptPilot是火山引擎推出的全链路提示词优化平台,旨在将提示词工程从"手工作坊"升级为"工业流水线"。本文通过深度实操体验和系统分析,全面剖析PromptPilot的核心功能、技术架构与应用实践,展示其如何通过生成-调…

作者头像 李华
网站建设 2026/7/5 19:32:33

终极数据血缘可视化神器:5分钟快速上手jsplumb-dataLineage-vue

终极数据血缘可视化神器:5分钟快速上手jsplumb-dataLineage-vue 【免费下载链接】jsplumb-dataLineage-vue https://github.com/mizuhokaga/jsplumb-dataLineage 数据血缘前端 jsplumb-dataLineage的Vue版本(Vue2、Vue3均实现) 项目地址: h…

作者头像 李华
网站建设 2026/7/5 19:32:21

Unitree RL Gym完整指南:从零开始掌握四足机器人强化学习技术

Unitree RL Gym完整指南:从零开始掌握四足机器人强化学习技术 【免费下载链接】unitree_rl_gym 项目地址: https://gitcode.com/GitHub_Trending/un/unitree_rl_gym 你是否曾经梦想过让机器人像真实的动物一样灵活行走、奔跑甚至跳跃?Unitree RL…

作者头像 李华
网站建设 2026/7/5 19:31:36

Mac Mouse Fix:重新定义macOS鼠标交互体验的智能驱动

Mac Mouse Fix:重新定义macOS鼠标交互体验的智能驱动 【免费下载链接】mac-mouse-fix Mac Mouse Fix - Make Your $10 Mouse Better Than an Apple Trackpad! 项目地址: https://gitcode.com/GitHub_Trending/ma/mac-mouse-fix 如果你曾经在macOS上使用过第三…

作者头像 李华