近期主要参与项目中的算法优化工作,把相关学习内容整理总计一下,加深自己理解的同时也能惠及他人。首先对基础知识准备做一个汇总。
算法优化后运行的平台主要是ARM平台,因此算法优化主要从以下几个方面实现。
1)代码级别,主要是指使用效率更高、计算量更小的算法
2)线程级,利用CPU多通道多核等特性,使用多线程加速运算
3)指令级,实际上没有接触汇编指令,而是使用平台基于汇编指令层面“封装”了一层的内置函数,这里主要用到NEON指令集
4)GPU,利用OPENGL做通用计算,或者使用OPENCL/CUDA利用GPU加速