Vector Update: DAXPY Form
simplifying indexing….
this is a DAXPY
operation
ndb1=nmb1/2
nde1=nme1/2
do jj=1,nj
do n=1,nib
do ii=1,ni
naa1=nma1+ii+(n-1)*nra+
(i-1)*nru+(l-1)*nra*nrub
nbb1=ndb1+n+(jj-1)*nib
lle1=nde1+ii+(jj-1)*ni
dp(lle1)=dp(lle1)+p(naa1)*dp(nbb1)
end do
end do
end do
ndb1=nmb1/2
nde1=nme1/2
do jj=1,nj
do n=1,nib
naa1=nma1+(n-1)*nra+
(i-1)*nru+(l-1)*nra*nrub
dp_temp=dp(ndb1+n+(jj-1)*nib)
lle1=nde1+(jj-1)*ni
do ii=1,ni
dp(lle1+ii)=dp(lle1+ii)+
p(naa1+ii)*dp_temp
end do
end do
end do
ndb1=nmb1/2
nde1=nme1/2
id1 =nma1+(i-1)*nru+(l-1)*nra*nrub
do jj=1,nj
id2 = ndb1+(jj-1)*nib
lle1= nde1+(jj-1)*ni
id3 = id1
do n=1,nib
dp_temp=dp(id2+n)
do ii=1,ni
dp(lle1+ii)=dp(lle1+ii)+p(id3+ii)*dp_temp
end do
id3 = id3 + nra
end do
end do
Previous slide
Next slide
Back to first slide
View graphic version