0

我真的很想把头放在矢量化上,但我似乎无法理解它。我不知道我是否不了解如何进行矢量化,或者我是否不了解正在使用的数组表示法。我正在与学校合作的一个循环示例如下:

for (M=0; M< number_of_iterations/2; M++){
   for (i=2; i<n-1; i++)  
      for (j=1; j<n-1; j++)  
          y[i][j]= (x[i-1][j]+x[i][j-1]+x[i+1][j]+x[i][j+1]+x[i-2][j])/5.;

我不确定我是否完全理解依赖关系的全部内容 - 有没有办法按原样使用数组表示法对其进行矢量化,或者我是否需要以某种方式对其进行调整以解决整个依赖关系?

提前感谢您的帮助。

4

2 回答 2

1

假设xy是完全不重叠的不同数组,则不存在依赖关系。x永远不会改变,所有计算的结果都只依赖于x. 没有计算取决于先前计算的结果。

该循环中使用的计算和分配可以以任何顺序和任何并发发生。

于 2013-02-13T03:24:47.887 回答
1

首先,我建议您使用刹车 {} 来组织您的代码行并更好地理解它。其次,看看这个页面:http ://www.javatutorialhub.com/java-arrays.html Thirg,总是从简单的例子开始,以免混淆。

于 2013-02-13T03:27:30.060 回答