正在加载图片...
循环间相关(1/4) EXample:下列程序段存在哪些数据相关? Iteration i T 1 (A,B,C指向不同的存储区且不存在覆盖区) A[+1] S1 S1 for(i=1;i<=100;=i计+1){ A[+1] A[+1] A[+]=A[]+c[ji;/*S1 B[+1] S2 S2 B+1]=B[+A[+1];/*S2 Dependency Graph S2使用由S1在同一循环计算出的A+1] 2.S1使用由S1在前一次循环中计算的值;S2也使用由S2在 次循环中计算的值这种存在于循环间的相关,我们称为 " loop-carried dependence"i这表示循环间存在相关,不能并 行执行,它与我们前面的例子中循环间无关是有区别的2021/2/7 26 循环间相关(1/4) Example: 下列程序段存在哪些数据相关? (A,B,C 指向不同的存储区且不存在覆盖区) for (i=1; i<=100; i=i+1) { A[i+1] = A[i] + C[i]; /* S1 */ B[i+1] = B[i] + A[i+1]; /* S2 */ } 1. S2使用由S1在同一循环计算出的 A[i+1]. 2. S1 使用由S1在前一次循环中计算的值;S2也使用由S2在 前一次循环中计算的值. 这种存在于循环间的相关,我们称为 “loop-carried dependence”这表示循环间存在相关,不能并 行执行,它与我们前面的例子中循环间无关是有区别的
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有