Question about GPU FLops关于GPU浮点数运算

最近在学习cuda,我使用的是特斯拉P100显卡。为什么使用nvidia cuda sample中的矩阵乘法样例程序测试浮点性能,测试速度单精度1657.76 GFlop/s双精度double 1078.98 GFlop/s。远达不到理论性能(只有大概1/5)。请问是什么原因造成的呢,有什么方法能够使显卡测试的浮点性能进一步提高?是优化编程方法吗?还是显卡的理论浮点性能只有通过算a*b+c这种简单的数学运算才能达到。谢谢。