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

C6678优化函数的相关问题

各位专家好:

         需要对一个运算过程进行优化,由于之前没接触过跟优化有关的问题,只是在使用daplib的时候稍微接触过,有一些基础的问题想问大家:

一,我使用了dsplib中的fft函数,但是我发现如果将fft的源函数直接放入工程中用-o3编译运行速度回变得慢不少,而且我发现dsplib工程自带的cmd文件的如下语           句

        会警告找不到section:

         .kernel:{

         dsplib*<*.o*>(.text:optimized){SIZE(_kernel_size)}

         }

             我发现这对应一种优化方法确定的储存地址,这是不是意味着,只是用优化的语言写计算过程还不够,还需要对编译方法,储存方式进行编写?如果是的话         能否麻烦告诉我需要去学习哪些文件。

二,我发现每个dsplib的函数都有3中方法作对比,结合能找到的资料我发现除了原本c语言方法以外,有两种优化方法种分别是是用optimizing loops和.sa汇编语           言。我发现optimizing loops要比汇编慢,那它在实际应用中有价值吗?

                                                                                                                                                                                                                                                           谢谢!

jimmy cui:

一、我做DSP优化做了5年了,CMD文件主要是内存分配,被处理的数据分配到越接近CPU速度就越快(一般用L2,分配到DDR3处理速度明显慢很多)

二、每个dsplib的函数都有3种方法作对比,那它在实际应用中有价值吗?当然有,TI公司的文件不单单只照顾高手,还要关照着小白,.C文件完全没有优化,只是给用户看看基本的原理,所以如果你调用.C,没有任何的优化效果(当然TI的.C也会比你自己写的优一些),而.sa是最优化的写法,不需要看得懂,直接调用就是最优,结果和.C的结果完全一样,无需怀疑!

xu kuang:

回复 jimmy cui:

十分感谢您的讲解!还有一点不太明白想请教一下。我将优化的文件加进工程中编译,发现运算速度变得很慢,.cmd文件中的代码警告找不到section:

         .kernel:{

         dsplib*<*.o*>(.text:optimized){SIZE(_kernel_size)}

         }

能否请您说一下这句话是什么意思,还有比如

.args    load > L2SRAM align = 0x4 ,fill = 0{_atgsize = 0x200}

.sdc.meta load >>L2SRAM ,type = COPY

这样的语句是优化必须的么,谢谢!

赞(0)
未经允许不得转载:TI中文支持网 » C6678优化函数的相关问题
分享到: 更多 (0)