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

6678定点浮点FFT问题

各位专家好:

最近基于CCS中的例程(DSPF_sp+FFTSPXSP等)做了一些时钟测试,但是测试结果让我很困惑。

比如定点FFT,N=1K,12418cycle

然而浮点FFT,N=1K,571209cycle,几组数据下来定点的时钟周期均是浮点的50倍,觉得这个差异不正常,浮点的运行时间偏长。同样的在矢量相乘的例程(DSPF_vecmul)中复乘的时间开销也很大,N=1K,37570cycle。

请问各位专家问题出在哪儿呢?还有TI有没有关于6678这些运算的基本参考值呢,测完后心里没谱儿。

谢谢各位专家!!!

Allen35065:

MCSDK包含了DSPLIB,在这个lib有定浮点的FFT计算函数且都经过优化,你可以参考这些函数。

Ryan KU:

回复 Allen35065:

Allen Yin 您好:

我用DSPF_sp_fftSPXSP例程测出的时钟周期非常大,N = 4K时将近600微秒,而且是例程中汇编情况下的运行结果,相较于AD的201慢了很多,但是6678的浮点运算性能应该更强啊?TI有关于FFT、矢量相乘、矩阵相乘等基本运算的参考值吗? 这些对于项目验证非常关键,希望能够提供建议以作参考!

谢谢专家!!

Ryan KU:

回复 Allen35065:

专家们好:

我测出的时间之所以这么长会是Cache方面的原因吗?如果是请教专家该如何去解决呢?

(还是希望哪位专家能够提供关于浮点FFT以及矢量相乘运算时钟周期的参考值)

谢谢各位专家!

Ryan KU:

回复 Allen35065:

Allen Yin 您好:

这个报告我看过 但是我直接运行例程得到的结果跟报告上差别太大,所以才发帖询问自身有可能在哪方面出现了错误。

不知报告中的结果是如何测得(vecmul的结果也跟报告中差太多)

Cycles:  12618 (N=128) 26452 (N=256) 例程运行后使这个结果,差了将近20倍!

谢谢专家!

hobo Q:

回复 Ryan KU:

楼主您好!能否提供下你解决的方案!我们这边已经把L1P和L1D全设为Cache了,L2全作为SRAM,但是时间测试的周期和test_result差别很大,而且用Cycle Approximate Smilutator和Functional Smilutator仿真的结果差距很大,开发板跑的结果和Cycle Smilu更为接近,但是所需周期却多的多!希望楼主能帮忙指导下!!万分感谢~~~~

Ryan KU:

回复 hobo Q:

你好:

 不好意思,回复晚了

 你在主函数中加入下面语句试试

 CACHE_setL1PSize (CACHE_L1_MAXIM3);

   CACHE_setL1DSize (CACHE_L1_MAXIM3);

   CACHE_setL2Size (CACHE_256KCACHE);

hobo Q:

回复 Ryan KU:

谢谢~~~我现在是将L1D和L1P全设置为Cache,把L2全设为SRAM,我试试把L2设置为256K Cache试试!不过我看了下那个Texas Instruments\dsplib_c66x_3_1_0_0\docs路径下的test_report是在functional simulator的仿真情况下得出来的,如果改用Cycle Approximate Simulator或者实际上板子跑还是有蛮大的差别的好像!你加了这些设置Cache的语句后,上板子跑的结果能和test_report结果接近吗??再次谢谢~

Ryan KU:

回复 hobo Q:

我测出来的相差不到两倍 差别还不算很大

赞(0)
未经允许不得转载:TI中文支持网 » 6678定点浮点FFT问题
分享到: 更多 (0)