This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

关于6678的浮点计算性能



您好!

     6678手册说它有20 GFLOP/Core的浮点运算能力,但我们在6678evm上运行如下程序:

  float a = 0.2;
  int i;
  for(i = 0; i < 15000 * 15000; i++)
       a = a * 0.3 + 0.8;
    并采用CCS5.3 O3优化编译后测出来的计算时间为3秒左右,感觉和手册介绍的差别较大,请问
是什么原因导致其峰值性能无法发挥,如何如何才能让它发挥出来。谢谢!
  • 可以使用C66提供的浮点加速指令进行乘累加操作,并且需要充分利用C66的数据位宽,减少core对数据的不断读写,如C66支持对外128bit位宽,所以可以一次读进来128bit进行数据处理,之后再一次把128bit进行回写,总之是需要使用C66提供的intrinstrics进行数据的load/store及处理,充分利用L/D的数据位宽并充分利用运算单元,这样才能体现出性能优势。

  •  您好!

             谢谢您的回答。我想继续问下手册上的浮点运算性能数据是怎么得到?测试样例程序是什么?