区组大小为3的最优循环填充的综述报告.docxVIP

区组大小为3的最优循环填充的综述报告.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

区组大小为3的最优循环填充的综述报告

循环填充是一种常见的计算机编程优化技术,可以通过改变矩阵的存储顺序来使得行读取的顺序和列读取的顺序更加紧凑,从而减少缓存未命中的次数,提高程序的性能。区组大小则是指将矩阵划分成的块的大小,一般来说区组大小越大,缓存命中的次数就越高,程序的性能也就越好。

在区组大小为3的情况下,最优循环填充可以大大提高程序性能。下面就介绍一下区组大小为3的最优循环填充的细节和具体实现方法。

1.静态数组的存储顺序

要想实现最优循环填充,首先需要将矩阵按照合适的顺序存储在静态数组中。对于行-major的存储方式,矩阵中的每一行在内存中是连续存储的,而对于列-major的存储方式,矩阵中的每一列在内存中是连续存储的。在区组大小为3的情况下,最优的存储顺序为:

(AAA)(BCD)(EEE)

(BBB)(BCD)(FFF)

(CCC)(DCB)(GGG)

(DDD)(DCB)(HHH)

其中,括号内的字母表示每一个区组,相同的字母表示在同一块中的元素,而括号之间的字母表示每一块中的元素顺序。

2.循环遍历矩阵

在实际实现中,要通过循环遍历矩阵中的每一个元素,以便进行计算。在区组大小为3的情况下,最优的循环顺序为:

for(i=0;in;i+=3){

for(j=0;jm;j+=3){

for(k=0;kp;k++){

C[i][j]+=A[i][k]*B[k][j];

C[i][j+1]+=A[i][k]*B[k][j+1];

C[i][j+2]+=A[i][k]*B[k][j+2];

C[i+1][j]+=A[i+1][k]*B[k][j];

C[i+1][j+1]+=A[i+1][k]*B[k][j+1];

C[i+1][j+2]+=A[i+1][k]*B[k][j+2];

C[i+2][j]+=A[i+2][k]*B[k][j];

C[i+2][j+1]+=A[i+2][k]*B[k][j+1];

C[i+2][j+2]+=A[i+2][k]*B[k][j+2];

}

}

}

在这个循环中,用于计算的矩阵被划分成了大小为3x3的子块,每一个元素与其相邻的元素都在同一块中。这样,就可以最大限度地利用缓存,提高程序的性能。

需要注意的是,在实际实现中,应该保证每个子块都满足对齐的要求,以此来提高程序的效率。

3.结果的读取

在最后,需要将计算得到的结果从静态数组中读取出来,存储到相应的变量中。在区组大小为3的情况下,最优的读取方式为:

for(i=0;in;i++){

for(j=0;jm;j++){

C[i][j]=temp[i][j];

}

}

这里的temp为中间静态数组,用来存储计算结果。将计算结果存储到中间数组中,再通过逐一复制的方式将结果转移到实际的结果变量中,可以避免因为对结果数组的多次间接访问而导致的性能下降。

综上所述,区组大小为3的最优循环填充可以通过改变矩阵的存储顺序、循环遍历矩阵和结果的读取来实现。通过合理的优化,可以使得程序的性能得到大幅度提升。

您可能关注的文档

文档评论(0)

kuailelaifenxian + 关注
官方认证
文档贡献者

该用户很懒,什么也没介绍

认证主体太仓市沙溪镇牛文库商务信息咨询服务部
IP属地上海
统一社会信用代码/组织机构代码
92320585MA1WRHUU8N

1亿VIP精品文档

相关文档