模型推理Tengine opencl 后端新增算子方法
Posted 极智视界
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了模型推理Tengine opencl 后端新增算子方法相关的知识,希望对你有一定的参考价值。
欢迎关注我的公众号 [极智视界],获取我的更多笔记分享
大家好,我是极智视界。本文介绍了 Tengine opencl 后端新增算子的方法,以 mish 算子为例。
下面开始。
在 Tengine 中模型转换工具新增的算子也必须在推理时以同样的方式新增,Tengine 里有丰富的加速后端加速,如opencl、trt、cuda 等,而这些加速后端中的算子注册不完整,往往需要自行添加实现。
以 opencl 后端算子新增为例,opencl 后端包含一些外部文件以及 op 和 cl 两个文件夹,其中 op 文件夹中放相关新增算子的 cpp,cl 文件中放新增相关算子的核函数文件 cl,如下:
下面开始 opencl 后端算子的新增的介绍,以 mish 为例。
(1)在 ocl_executor.hpp 中添加 bool 函数,如下:
(2)在 ocl_executor.cc 文件中,新增一个 case,如下:
(3)在 op 文件夹中新增一个 ocl_mish.cpp,用于实现函数 AddMishNode 的功能,如下:
(4)添加 kernel 实现,即在 cl 文件夹中增加 mish.cl 文件,如下:
(5)在 ./ocl_limit.hpp 中把 OP 枚举的 mish 开关打开,表明已经实现该算子的支持。
好了,以上分享了 Tengine opencl 后端新增算子的方法,希望我的分享能对你的学习有一点帮助。
【公众号传送】
扫描下方二维码即可关注我的微信公众号【极智视界】,获取更多AI经验分享,让我们用极致+极客的心态来迎接AI !
以上是关于模型推理Tengine opencl 后端新增算子方法的主要内容,如果未能解决你的问题,请参考以下文章