确定大炮算法的时间复杂度

时间:2014-11-20 10:37:35

标签: algorithm parallel-processing time-complexity matrix-multiplication

我正在尝试实施cannon算法,但无法准确计算时间复杂度。我很难将复杂的通信费用包括在内。

{1}for all i=0:N — 1 
     Left circular shift row i by i, so that A [i,j] is assigned A[i,(j+i)mod N] 
{2}for all j =0 : N — 1 
     Upward circular shift column j by j, so that B(i,j) assigned B[(j+i) modN,j]
{3}for k = 1 : N 
    {4}for all i = 0 : N — 1 , {5}for all j = 0 : N — 1 
        C[i,j]= C[i,j] + A[i,j]*B[i,j] ;
     Left circular shift each row of A by 1, so A[i,j] is assigned A[i,(j+1)mod N]
     Upward circular shift each column of B by 1, so B[i,j] is assigned B[(i+1)modN,j]

据我说:  N {1,2:因为1,2个环可以并行进行} +(N * N * N){3,4,5} = N + N 3

link表示复杂性。我知道我的计算中没有包含通信费用。 这里有一个简单的解释(通信成本和存储空间要求)非常有用。

0 个答案:

没有答案
相关问题