天天看点

使用profile和cachetune提高cache命中率

以前调试时发现CCS在不用版本下编译的.out文件大小完全不同,更有甚者在CCS3.1下可以顺利编译的程序CCS2.2竟然报错,仔细检查发现有部分指令CCS2.2不支持,所以我更推荐高版本的CCS。

今天把编码平台移植到CCS3.3后编码速度有所下降,估计是cache命中率的影响。所以调整了一个下午的cache命中率,调整过程如下

1、首先开启profile,在CCS的主菜单中选择profile选项,点击setup,出现如下界面,我比较懒,通常选择所有选项,这样就不用详细区分每一项的含义了。 

2、选择profile->view,出现下面的界面,这个里面显示了当前程序的stall cycle和L1P、l1D的命中率,这个数据指导了cache调整的大方向。 

3、开启cachetune软件,在profile->tuning->cachetune中,调出cachetune界面 4、设置合适的断点,在需要进行剖析的函数入口和出口处设置断点。

5、运行程序,在程序入口断点处点击图一中的小闹钟图形,开启profile功能,出口处再点

使用profile和cachetune提高cache命中率
使用profile和cachetune提高cache命中率

今天把编码平台移植到CCS3.3后编码速度有所下降,估计是cache命中率的影响。所以调整了一个下午的cache命中率,调整过程如下

1、首先开启profile,在CCS的主菜单中选择profile选项,点击setup,出现如下界面,我比较懒,通常选择所有选项,这样就不用详细区分每一项的含义了。 

2、选择profile->view,出现下面的界面,这个里面显示了当前程序的stall cycle和L1P、l1D的命中率,这个数据指导了cache调整的大方向。 

3、开启cachetune软件,在profile->tuning->cachetune中,调出cachetune界面 4、设置合适的断点,在需要进行剖析的函数入口和出口处设置断点。

5、运行程序,在程序入口断点处点击图一中的小闹钟图形,开启profile功能,出口处再点

击一个那个小闹钟,关闭profile,可以看到profile的结果,根据这个结果选择是否进入cachetune环节。 

6、由于程序命中率比较低,所以进入cachetune界面,首先通过上方的放大缩小将cachetune界面调整到一个方便观看的尺度。红色表达miss,绿色是hit,将鼠标放大红色的部分上,鼠标会出现一个变形,点击可以进入miss的函数,按照cachetune的提示调整程序,减少miss。

使用profile和cachetune提高cache命中率

文章来源:http://wenku.baidu.com/view/0ec7afc508a1284ac8504317.html

继续阅读