Lines Matching refs:p
31 integer :: numtask,i,j,k,m,p,ki,kj,krowp,ierr local
57 allocate(lhsGP%p(redun,annz_tot),stat=ierr)
58 allocate(lhsGProwp%p(annz_tot))
59 allocate(lhsGPcolm%p(nshg+1))
60 lhsGP%p(:,:) = alhsP(:,:)
61 lhsGProwp%p(:) = arowp(:)
62 lhsGPcolm%p(:) = acolm(:)
81 allocate(sub_nnz%p(numtask))
82 allocate(sub_nnz2%p(numtask))
83 allocate(sub_nshg%p(numtask))
97 sub_nshg%p(i) = numseg
99 allocate(sub_map%pp(i)%p(numseg))
100 allocate(sub_revmap%pp(i)%p(nshg))
102 sub_map%pp(i)%p = 0
103 sub_revmap%pp(i)%p = 0
108 sub_map%pp(i)%p(j) = k
109 sub_revmap%pp(i)%p(k) = j
115 allocate(sub_colm%pp(i)%p(numseg+1))
116 allocate(sub_colm2%pp(i)%p(numseg+1))
119 sub_nnz%p(i) = 0
121 sub_colm%pp(i)%p(j) = sub_nnz%p(i) + 1
122 ki = sub_map%pp(i)%p(j)
125 if (sub_revmap%pp(i)%p(krowp).ne.0) then
133 sub_nnz%p(i) = sub_nnz%p(i) + 1
138 sub_colm%pp(i)%p(numseg+1) = sub_nnz%p(i) + 1
141 call MPI_ISEND(sub_colm%pp(i)%p(1),numseg+1,MPI_INTEGER,
143 call MPI_IRECV(sub_colm2%pp(i)%p(1),numseg+1,MPI_INTEGER,
147 call MPI_IRECV(sub_colm2%pp(i)%p(1),numseg+1,MPI_INTEGER,
149 call MPI_ISEND(sub_colm%pp(i)%p(1),numseg+1,MPI_INTEGER,
164 sub_nnz2%p(i) = sub_colm2%pp(i)%p(sub_nshg%p(i)+1)-1
181 allocate(sub_rowp%pp(i)%p(sub_nnz%p(i)))
182 allocate(sub_rowp2%pp(i)%p(sub_nnz2%p(i)))
183 allocate(sub_rowpmap%pp(i)%p(sub_nnz%p(i)))
184 allocate(sub_mtx%pp(i)%p(redun,sub_nnz%p(i)))
185 allocate(sub_mtx2%pp(i)%p(redun,sub_nnz2%p(i)))
190 ki = sub_map%pp(i)%p(j)
193 if (sub_revmap%pp(i)%p(krowp).ne.0) then
195 sub_rowp%pp(i)%p(k) = sub_revmap%pp(i)%p(krowp)
196 sub_rowpmap%pp(i)%p(k) = kj
197 do p=1,redun
198 sub_mtx%pp(i)%p(p,k) = alhsP(p,kj)
205 call MPI_ISEND(sub_rowp%pp(i)%p(1),sub_nnz%p(i),MPI_INTEGER,
207 call MPI_IRECV(sub_rowp2%pp(i)%p(1),sub_nnz2%p(i),MPI_INTEGER,
211 call MPI_IRECV(sub_rowp2%pp(i)%p(1),sub_nnz2%p(i),MPI_INTEGER,
213 call MPI_ISEND(sub_rowp%pp(i)%p(1),sub_nnz%p(i),MPI_INTEGER,
218 call MPI_ISEND(sub_mtx%pp(i)%p(1,1),redun*sub_nnz%p(i),
221 call MPI_IRECV(sub_mtx2%pp(i)%p(1,1),redun*sub_nnz2%p(i),
226 call MPI_IRECV(sub_mtx2%pp(i)%p(1,1),redun*sub_nnz2%p(i),
229 call MPI_ISEND(sub_mtx%pp(i)%p(1,1),redun*sub_nnz%p(i),
272 do j=1,sub_nshg%p(i) ! each line
280 ki = sub_map%pp(i)%p(j)
293 kj = Prowp%pp(ki)%p(k)
296 tmp_rmtx(:,kj) = Pmtx%pp(ki)%p(:,k)
299 deallocate(Prowp%pp(ki)%p)
300 deallocate(Pmtx%pp(ki)%p)
304 do ki = sub_colm2%pp(i)%p(j),sub_colm2%pp(i)%p(j+1)-1
306 krowp = sub_rowp2%pp(i)%p(ki)
307 kj = sub_map%pp(i)%p(krowp)
320 do p=1,redun
321 tmp_rmtx(p,kj) = tmp_rmtx(p,kj)+sub_mtx2%pp(i)%p(p,ki)
326 ki = sub_map%pp(i)%p(j)
328 allocate(Prowp%pp(ki)%p(rownnz))
329 allocate(Pmtx%pp(ki)%p(redun,rownnz))
332 Prowp%pp(ki)%p(k) = kj
333 Pmtx%pp(ki)%p(:,k) = tmp_rmtx(:,kj)
345 if (Prowp%pp(ki)%p(gi).gt.Prowp%pp(ki)%p(gj)) then
346 gk = Prowp%pp(ki)%p(gj)
347 Prowp%pp(ki)%p(gj) = Prowp%pp(ki)%p(gi)
348 Prowp%pp(ki)%p(gi) = gk
349 swaptemp(:) = Pmtx%pp(ki)%p(:,gj)
350 Pmtx%pp(ki)%p(:,gj) = Pmtx%pp(ki)%p(:,gi)
351 Pmtx%pp(ki)%p(:,gi) = swaptemp(:)
359 allocate(lhsGPcolm%p(nshg+1))
363 lhsGPcolm%p(1) = 1
372 lhsGPcolm%p(i+1)=rownnz+1
377 allocate(lhsGProwp%p(rownnz))
378 allocate(lhsGP%p(redun,rownnz))
385 lhsGProwp%p(rownnz) = arowp(j)
386 lhsGP%p(:,rownnz) = alhsP(:,j)
391 lhsGProwp%p(rownnz) = Prowp%pp(i)%p(j)
392 lhsGP%p(:,rownnz) = Pmtx%pp(i)%p(:,j)
401 gi = lhsGPcolm%p(i)
402 if (lhsGProwp%p(gi).ne.i) then
403 do j=gi+1,lhsGPcolm%p(i+1)-1
404 k = lhsGProwp%p(j)
407 lhsGProwp%p(j) = lhsGProwp%p(gi)
408 lhsGProwp%p(gi) = i
410 swaptemp(:) = lhsGP%p(:,gi)
411 lhsGP%p(:,gi) = lhsGP%p(:,j)
412 lhsGP%p(:,j) = swaptemp(:)
422 do j=lhsGPcolm%p(i),lhsGPcolm%p(i+1)-1
423 k = lhsGProwp%p(j)
424 gi = amg_paramap(1)%p(i)
425 gk = amg_paramap(1)%p(k)
443 deallocate(Prowp%pp(i)%p)
444 deallocate(Pmtx%pp(i)%p)
454 deallocate(sub_map%pp(i)%p)
455 deallocate(sub_revmap%pp(i)%p)
456 deallocate(sub_colm%pp(i)%p)
457 deallocate(sub_colm2%pp(i)%p)
458 deallocate(sub_rowp%pp(i)%p)
459 deallocate(sub_rowp2%pp(i)%p)
460 deallocate(sub_rowpmap%pp(i)%p)
461 deallocate(sub_mtx%pp(i)%p)
462 deallocate(sub_mtx2%pp(i)%p)
469 deallocate(sub_nnz%p)
470 deallocate(sub_nnz2%p)
471 deallocate(sub_nshg%p)
486 subroutine ramg_PPEAp(q,p, argument
493 real(kind=8),intent(in),dimension(nshg) :: p local
508 diag = ramg_flowDiag%p
511 call fMtxVdimVecMult(p,amg_ppeDiag(1)%p,t1a,1,1,1,1,nshg)
532 call fMtxVdimVecMult(t1a,amg_ppeDiag(1)%p,q,1,1,1,1,nshg)
542 subroutine ramg_PPEAps(q,p,diag, argument
549 real(kind=8),intent(in),dimension(nshg) :: p local
565 call fMtxVdimVecMult(p,amg_ppeDiag(1)%p,t1a,1,1,1,1,nshg)
585 call fMtxVdimVecMult(t1a,amg_ppeDiag(1)%p,q,1,1,1,1,nshg)
709 allocate(amg_ilwork(lvl)%p(tasknnztot+1+2*numtask))
710 amg_ilwork(lvl)%p = 0
712 amg_ilwork(lvl)%p(1) = numtask
720 amg_ilwork(lvl)%p(kk) = iother ! first put iother
722 amg_ilwork(lvl)%p(kk) = tasknnz(i) ! then numseg
728 amg_ilwork(lvl)%p(kk)=lvlmap(k)
921 numtask = amg_ilwork(level)%p(1)
931 iother(i)=amg_ilwork(level)%p(itkbeg+1)
932 numseg(i)=amg_ilwork(level)%p(itkbeg+2)
933 allocate(tmparray(i)%p(numseg(i),redun))
937 tmparray(i)%p(j,:)=global(amg_ilwork(level)%p(itkbeg),:)
955 call MPI_ISEND(tmparray(i)%p(1,1),redun*numseg(i),
960 call MPI_IRECV(tmparray(i)%p(1,1),redun*numseg(i),
975 numseg(i)=amg_ilwork(level)%p(itkbeg+2)
979 global(amg_ilwork(level)%p(itkbeg),:)=tmparray(i)%p(j,:)
984 deallocate(tmparray(i)%p)
1017 numtask = amg_ilwork(level)%p(1)
1027 iother(i)=amg_ilwork(level)%p(itkbeg+1)
1028 numseg(i)=amg_ilwork(level)%p(itkbeg+2)
1029 allocate(tmparray(i)%p(numseg(i),redun))
1033 tmparray(i)%p(j,:)=global(amg_ilwork(level)%p(itkbeg),:)
1043 call MPI_IRECV(tmparray(i)%p(1,1),redun*numseg(i),
1047 call MPI_ISEND(tmparray(i)%p(1,1),redun*numseg(i),
1062 numseg(i)=amg_ilwork(level)%p(itkbeg+2)
1067 global(amg_ilwork(level)%p(itkbeg),:)=
1068 & global(amg_ilwork(level)%p(itkbeg),:)+tmparray(i)%p(j,:)
1070 global(amg_ilwork(level)%p(itkbeg),:)=0
1076 deallocate(tmparray(i)%p)