嵌入式程序加速方法概述

目录

常用的嵌入式平台

1 对于NVIDIA开发平台来说

2 对于其他rk/ti 等GPU架构来说

3 在没有GPU的情况下常用的加速方法有

4 指令集加速


常用的嵌入式平台

有 TI-AM5728/TDA4, NVIDIA-NANO/xavier/orin, rk3566/3588/3399, mr813,物奇等,其加速方法各有不同主要分为NVIDIA和其他家:

1 对于NVIDIA开发平台来说

其GPU cuda单元可以tensorrt cuda编程等加速方法,编写cuda核函数,调用GPU资源进行加速,tensorrt可以将Onnx->engine->tensorrt将模型进行转换和量化加速,通常加速速度可以提高百倍以上。

2 对于其他rk/ti 等GPU架构来说

其使用mali gpu,没有cuda单元,可以使用opencl架构调用gpu资源进行加速,原理也是编写核函数将逐像素遍历改写为并行计算方式,把所有针对图像的遍历都可以改写,速度可以提高5-8倍,其中GPU计算不可以用多进程处理。

3 在没有GPU的情况下常用的加速方法有

将复杂的数学运算用查找表代替,用泰勒级数近似代替,用牛顿迭代前两项近似代替等方式减小计算量,减少IO操作减少读写文件,公式化简,初始化提前计算,将复杂耗时计算部分软件硬化用预设值替换,外部载入计算结果。

4 指令集加速

PC端通常指令集加速用SSE/SSE2等将字节地址对齐后,用128位寄存器同时处理多个四字节浮点类型数据。嵌入式平台端用NEON指令集加速,原理也是单指令多数据。

  • 7
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

三十度角阳光的问候

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值