TI中文支持网
TI专业的中文技术问题搜集分享网站

关于C66x内核代码优化问题!!!!

各位专家:

       大家好,我有个关于代码优化问题请教大家。

       我使用的是6670平台,在给平台上进行信号处理的内核编程。

       例如OFDM的扰码、调制、信道估计等处理,我首先用C代码编程,效率较低,后来尝试了O3优化、线性汇编效率逐步得到提升。阅读了那几篇代码优化的文档。

       现在的优化手段是:使用AB侧运算资源、利用128bit的内核总线带宽、通过生成的标准汇编代码分析流水线并行度再反馈进行修改(但效果不好,难度大)。

现在正尝试进行标准汇编,但是发现标准汇编调试起来很难:首先,寄存器无法命名,代码量增大后,可读性和编写难度直线上升。第二,流水线的控制和编排难,有时辛苦半天的结果还不如线性汇编加o2的效果。

      请问:

如何知道我的代码效率是什么水平,有没有什么方法来判断或者量化的评估,我的代码还有多少提升空间?

其次,我目前的代码优化手段,是否有问题,有没有更好的优化方法?关于标准汇编,是否是提升代码效率的必经之路?

      请各位专家帮助,非常感谢!!!!

Andy Yin1:

不建议直接用汇编,如你所说可读性和编写难度很大。可以在加上优化后,加上-k选项生存反汇编.s文件,其中会有寄存器的使用及运算单元冲突提示;我们优化的方法如使用c-intrinsic,memory读写使用amem8等,cache预取,参考附件。

赞(0)
未经允许不得转载:TI中文支持网 » 关于C66x内核代码优化问题!!!!
分享到: 更多 (0)