news 2026/7/17 18:40:50

Ascend C Conv3D Tiling使用说明

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Ascend C Conv3D Tiling使用说明

Conv3D Tiling使用说明

【免费下载链接】asc-devkit本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言,原生支持C和C++标准规范,主要由类库和语言扩展层构成,提供多层级API,满足多维场景算子开发诉求。项目地址: https://gitcode.com/cann/asc-devkit

Ascend C提供一组Conv3D Tiling API,方便用户获取Conv3D正向算子Kernel计算时所需的Tiling参数。用户只需要传入Input/Weight/Bias/Output的Position位置、Format格式和DType数据类型及相关参数等信息,调用API接口,即可获取Init中TConv3DApiTiling结构体中的相关参数。

Conv3D Tiling API提供Conv3D单核Tiling接口,用于Conv3D单核计算场景,获取Tiling参数的流程如下:

  1. 创建一个单核Tiling对象。
  2. 设置Input、Weight、Bias、Output的参数类型信息以及Shape信息,如果存在Padding、Stride、Dilation参数,通过SetPadding、SetStride、SetDilation接口进行相关设置。
  3. 调用GetTiling接口,获取Tiling信息。

使用Conv3D Tiling接口获取Tiling参数的样例如下:

// 实例化Conv3D Api auto ascendcPlatform = platform_ascendc::PlatformAscendC(context->GetPlatformInfo()); Conv3dTilingApi::Conv3dTiling conv3dApiTiling(ascendcPlatform); // 设置输入输出原始规格、单核规格、参数等 conv3dApiTiling.SetGroups(groups); conv3dApiTiling.SetOrgWeightShape(cout, kd, kh, kw); conv3dApiTiling.SetOrgInputShape(cin, di, hi, wi); conv3dApiTiling.SetPadding(padh, padt, padu, padd, padl, padr); conv3dApiTiling.SetDilation(dilationH, dilationW, dilationD); conv3dApiTiling.SetStride(strideH, strideW, strideD); conv3dApiTiling.SetSingleWeightShape(cin, kd, kh, kw); conv3dApiTiling.SetSingleOutputShape(singleCoreCo, singleCoreDo, singleCoreMo); // 设置输入输出type conv3dApiTiling.SetInputType(TPosition::GM, inputFormat, inputDtype); conv3dApiTiling.SetWeightType(TPosition::GM, weightFormat, weightDtype); conv3dApiTiling.SetOutputType(TPosition::CO1, outputFormat, outputDtype); if (biasFlag) { conv3dApiTiling.SetBiasType(TPosition::GM, biasFormat, biasDtype); } // 调用GetTiling接口获取核内切分策略,如果返回-1代表获取tiling失败 if (conv3dApiTiling.GetTiling(tilingData.conv3dApiTilingData) == -1) { return false; }

需要包含的头文件

#include "lib/conv/conv3d/conv3d_tiling.h"

【免费下载链接】asc-devkit本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言,原生支持C和C++标准规范,主要由类库和语言扩展层构成,提供多层级API,满足多维场景算子开发诉求。项目地址: https://gitcode.com/cann/asc-devkit

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

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

Android逆向实战:Frida动态Hook非标准加密算法的完整指南

1. 项目概述:当标准Hook工具遇上“野路子”算法 在Android逆向与安全分析的日常里,Frida早已成为我们手中的“瑞士军刀”,用它来Hook标准加密库(如OpenSSL、BouncyCastle)里的AES、RSA、MD5、SHA系列算法,流…

作者头像 李华
网站建设 2026/7/17 18:37:15

数据采集终端(DTU)是什么?有什么功能?

在工业物联网、智慧水务、智能工厂等项目的实际落地中,现场数据难以高效采集、设备接口类型单一、网络传输不稳定、与上层平台对接繁琐等问题,常常成为制约项目进度和效果的关键瓶颈。面对复杂多变的现场环境,如何实现各类设备数据的可靠接入…

作者头像 李华
网站建设 2026/7/17 18:31:05

WSL2环境搭建与深度学习开发环境配置指南

1. WSL2环境准备与Ubuntu安装 在Windows系统上搭建Linux开发环境,WSL2是目前最理想的解决方案。相比传统虚拟机,WSL2提供了近乎原生的性能体验,同时又能与Windows系统无缝集成。我的开发机配置是Win11系统、RTX4060显卡和32GB内存&#xff0c…

作者头像 李华
网站建设 2026/7/17 18:29:39

WSL2核心命令与配置实战指南

1. WSL2 核心命令全景解析作为Windows开发者最常用的Linux子系统工具,WSL2通过深度集成带来了接近原生Linux的性能体验。本文将系统梳理WSL2全生命周期管理中的关键命令,包含从安装配置到日常运维的完整知识体系。不同于官方文档的平铺直叙,我…

作者头像 李华
网站建设 2026/7/17 18:29:27

KV260视觉套件实战:Smart-Camera例程部署与RTSP流媒体开发

1. KV260视觉套件初体验:从开箱到Smart-Camera例程跑通作为一名长期从事嵌入式视觉开发的工程师,最近终于有机会上手体验Xilinx(现AMD)的Kria KV260视觉入门套件。这款基于Zynq UltraScale MPSoC架构的SOM(System-on-M…

作者头像 李华