算法优化学习:(一)基础知识准备

       近期主要参与项目中的算法优化工作,把相关学习内容整理总计一下,加深自己理解的同时也能惠及他人。首先对基础知识准备做一个汇总。

        算法优化后运行的平台主要是ARM平台,因此算法优化主要从以下几个方面实现。

1)代码级别,主要是指使用效率更高、计算量更小的算法

2)线程级,利用CPU多通道多核等特性,使用多线程加速运算

3)指令级,实际上没有接触汇编指令,而是使用平台基于汇编指令层面“封装”了一层的内置函数,这里主要用到NEON指令集

4)GPU,利用OPENGL做通用计算,或者使用OPENCL/CUDA利用GPU加速

        当前只接触到2)和3),下面对自己搜索到的学习资料做个汇总。

        Pthread:即POSIX线程(POSIX threads),简称Pthreads,是线程的POSIX标准,该标准定义了创建和操纵线程的一整套API,在类操作系统(Unix、Linux、Mac OS X等)中都使用Pthreads作为操作系统的线程操作规范。因此使用它实现多线程,就不用担心在移植中遇到系统不支持或者需要第三方库的问题了。

1)Pthreads使用学习:参考《Linux环境C程序设计》第17章部分

2)Windows中使用Pthreads:https://blog.csdn.net/Rongbo_J/article/details/45055029

        Neon:ARM公司为ARM Cortex-A系列处理器和Cortex-R52处理器设计的SIMD(单指令多数据)指令集,主要目的是提升多媒体用户体验,可以加速音视频的编解码、用户界面、2D/3D图像渲染,我们主要使用NEON加速算法计算。学习资料汇总:

1)Neon官网:https://developer.arm.com/technologies/neon

2)Neon指令查询:https://developer.arm.com/technologies/neon/intrinsics

3)Neon小结:https://blog.csdn.net/a568478312/article/details/80937797

4)ARM Neon编程学习:https://www.cnblogs.com/xylc/p/5398706.html

5)DEN0018A_neon_programmers_guide 

        后面以二维高斯滤波为例进行算法优化的实施与验证。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Mega_Li

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

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

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

打赏作者

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

抵扣说明:

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

余额充值