本文介绍了CANN自定义算子开发的几种开发方式和算子的编译运行流程。然后以开发一个DSL Add算子为例,讲解算子开发的基本流程。
原创 精选 2023-02-17 14:22:32
900阅读
1点赞
摘要:本文以GreaterEqual作为测试算子,该算子计算逻辑较为简单(output = input1 >= input2),旨在尽可能降低计算耗时,使得算子耗时尽可能以数据操作和算子调度作为主体。 本文分享自华为云...
转载 2021-09-18 14:46:00
243阅读
2评论
本文以GreaterEqual作为测试算子,该算子计算逻辑较为简单(output = input1 >= input2),旨在尽可能降低计算耗时,使得算子耗时尽可能以数据操作和算子调度作为主体。
原创 2021-09-18 14:06:48
2511阅读
1点赞
本期带您了解如何使用msopst工具。
原创 精选 2022-09-19 10:47:20
539阅读
1点赞
本文以Diagonal算子为例,介绍并详细讲解如何利用迭代器对n维Tensor进行基于位置坐标的大批量数据读取工作。
原创 2022-07-04 10:38:24
432阅读
1点赞
先要激活环境变量:接下来最好是把地址换到现在的工作目录:然后安装根目录requirements.txt依赖编译自定义算子包安装自定义算子包本地验证从build.sh代码中可以看出:return;;判断是否带参数 eager: 要看算子目录下的examples目录里有没有test_aclnn_*.cpp文件比如:acos就没有,add就有。
本文主要聊一聊华为昇腾 CANN TBE 开发方式。
原创 2022-04-19 17:03:58
922阅读
2023年5月昇腾AI开发者峰会上,昇腾CANN首席架构师闫长江老师解密了全新的Ascend C算子编程体系。正好CANN训练营开设了Ascend C算子开发的课程,学习完成后再听大神的串讲,有种豁然开朗的感觉。
原创 2023-05-30 21:43:33
300阅读
lambda算子是一切函数式语言的基础,明白lambda算子对于掌握函数式语言有着许多好处。最近学习相关知识略有所得,故在此写出以备忘:1 基础λ 算子是函数式编程的理论基础,是图灵机外的另一种计算模型。 它十分简洁,只有三条产生规则,却可以表达一切可计算的函数。λ 算子的核心概念是表达式expression。λ 算子的产生规则如下: <expression> ::= <name
转载 2024-05-23 19:58:14
109阅读
目录一. 概念:张量、算子二. 使用pytorch实现张量运算1.2.1 创建张量1.2.1.1 指定数据创建张量1.2.1.2 指定形状创建张量1.2.1.3 指定区间创建1.2.2 张量的属性1.2.2.1 张量的形状1.2.2.2 形状的改变1.2.2.3 张量的数据类型1.2.2.4 张量的设备位置1.2.3 张量与Numpy数组转换1.2.4 张量的访问1.2.4.1 索引和切片1.2.
在沙箱实验环境体验Ascend C算子开发、部署、测试。有助于帮助开发者了解Ascend C算子开发的软、硬件环境;熟悉自定义Ascend C算子的开发流程和关键代码;同时也可以了解到自定义算子包的部署路径及部署后的各类文件。
原创 2023-05-31 11:48:48
366阅读
1.RDDSpark提供了两种创建RDD的方式: (1)由一个已经存在的Scala集合进行创建。 (2)由外部存储系统的数据集创建,包括本地的文件系统,还有所有Hadoop支持的数据集,比如HDFS、Cassandra、HBase等。1.1读取文件textFile()val rdd = sc.textFile("/home/student.txt")//文件路径1.2集合创建RDDSpark会将集
转载 2024-01-15 07:06:39
56阅读
从何入手开始学习AscendC算子?本篇笔记谈谈学习体会:建议先搭建CPU和NPU的环境,把例程跑起来,对AscendC算子有个直观的感受;然后再去学习理论知识,本文精选了几个学习资料,并推荐了学习顺序;继而通过模仿例程,进行算子开发实战。希望对想学习AscendC算子开发,还没有动手的小伙伴有所裨益。
原创 2023-10-25 17:04:42
238阅读
Sinh算子实现分享近期参加了华为的CANN训练营,学习到了Ascend C的很多知识,训练营也步入尾声,在这里利用所学知识,分享Sinh的算子实现过程1. 准备工作首先我们需要知道一个算子工程有哪些部分组成看上去有很多文件,但其实我们只需要修改其中主要的几个文件,也就是host侧的.h和.cpp文件以及kernal侧的.cpp文件,所以新手小白别被吓到!2.具体流程2.1 生成算子工程首先我们需
原创 2024-07-12 13:53:29
260阅读
Ascend C算子使用C/C++作为前端开发语言,通过四层接口抽象、并行编程范式、孪生调试等技术,极大提高算子开发效率,助力AI开发者低成本完成算子开发和模型调优部署。通过add算子实践理解Ascend C算子的概念,掌握开发流程,以及内核调用符方式的调试方法。
原创 精选 2023-05-28 22:24:58
378阅读
目录前言转换算子一、Value类型1. map2. mapPartitions3. mapPartitionsWithIndex4. flatMap5. glom6. groupBy7. filter8. sample9. distinct10. coalesce11. sortBy二、双Value类型1. intersection2. union3. subtract4. zip三、K-V类型
转载 2023-06-09 22:40:17
176阅读
 索伯算子(sobel operator)常用于边缘检测,在粗精度下,是最常用的边缘检测算子,以广泛应用几十年。sobel算子由两个3X3的卷积核构成,分别用于计算中心像素邻域的灰度加权差。分为垂直方向和水平方向的索伯滤波器Gx and Gy。sobel 算子的用途主要为:边缘检测时: Gx用于检测纵向边缘, Gy用于检测横向边缘.计算法线时: Gx用于计算法线的横向偏移, Gy用于计算
 图像的梯度计算的是图像变化的速度,对于边缘部分呢灰度值变换大,梯度值也大,相反则灰度值变化小,梯度值小图像梯度值严格说应该需要求导数,但是图像梯度一般通过计算像素值的差,来得到梯度的近似值以下介绍三种算子的使用Sobel算子、Scharr算子和Laplacian算子 Sobel算子是一种离散的微分算子,该算子结合了高斯平滑处理和微分求导运算。 该算子利用局部差寻找边缘Sobe
转载 2024-02-02 16:44:29
75阅读
首先明确一点:学计算框架主要就是学2部分:1.资源调度 2.任务调度 写一个spark程序包含加载配置文件,创建上下文,创建RDD , 调用RDD的算子,用户在算子中自定义的函数 map端:狭窄的理解是MapReduce中的map端,本质就是将数据变成你想要的形式,例如:按照空格切分,乘2等等操作。 shuffle : 分为shuffle write(临时存到本地磁盘)和shuffle read(
TIK C++算子开发入门一、TIK C++基本概念TIK C++是一种使用C/C++作为前端语言的算子开发工具,通过四层接口抽象、并行编程范式、孪生调试等技术,极大提高算子开发效率,助力AI开发者低成本完成算子开发和模型调优部署。二、核函数1.基本定义核函数(Kernel Function)是TIK C++算子设备侧的入口。TIK C++允许用户使用核函数这种C/C++函数的语法扩展来管理设备侧
原创 2023-05-23 14:07:35
175阅读
  • 1
  • 2
  • 3
  • 4
  • 5