mld2p4-2:

examples/fileread/mld_cexample_1lev.f90
 examples/fileread/mld_cexample_ml.f90
 examples/fileread/mld_dexample_1lev.f90
 examples/fileread/mld_dexample_ml.f90
 examples/fileread/mld_sexample_1lev.f90
 examples/fileread/mld_sexample_ml.f90
 examples/fileread/mld_zexample_1lev.f90
 examples/fileread/mld_zexample_ml.f90
 tests/fileread/cf_sample.f90
 tests/fileread/df_sample.f90
 tests/fileread/sf_sample.f90
 tests/fileread/zf_sample.f90

New gather usage.
stopcriterion
Salvatore Filippone 13 years ago
parent 15ff9bfa5a
commit 753dba448d

@ -267,26 +267,23 @@ program mld_cexample_ml
write(*,'("Total memory occupation for PREC : ",i12)')precsize write(*,'("Total memory occupation for PREC : ",i12)')precsize
end if end if
allocate(x_glob(m_problem),r_glob(m_problem),stat=ierr) call psb_gather(x_glob,x_col,desc_a,info,root=psb_root_)
if (ierr /= 0) then if (info == psb_success_) &
write(0,*) 'allocation error: no data collection' & call psb_gather(r_glob,r_col,desc_a,info,root=psb_root_)
else if (info /= psb_success_) goto 9999
call psb_gather(x_glob,x,desc_A,info,root=psb_root_) if (iam == psb_root_) then
call psb_gather(r_glob,r,desc_A,info,root=psb_root_) write(0,'(" ")')
if (iam == psb_root_) then write(0,'("Saving x on file")')
write(0,'(" ")') write(20,*) 'matrix: ',mtrx_file
write(0,'("Saving x on file")') write(20,*) 'computed solution on ',np,' processor(s).'
write(20,*) 'matrix: ',mtrx_file write(20,*) 'iterations to convergence: ',iter
write(20,*) 'computed solution on ',np,' processor(s).' write(20,*) 'error estimate (infinity norm) on exit:', &
write(20,*) 'iterations to convergence: ',iter & ' ||r||/(||a||||x||+||b||) = ',err
write(20,*) 'error estimate (infinity norm) on exit:', & write(20,*) 'max residual = ',resmx, resmxp
& ' ||r||/(||a||||x||+||b||) = ',err write(20,'(a8,4(2x,a20))') 'I','X(I)','R(I)','B(I)'
write(20,*) 'max residual = ',resmx, resmxp do i=1,m_problem
write(20,'(a8,4(2x,a20))') 'I','X(I)','R(I)','B(I)' write(20,998) i,x_glob(i),r_glob(i),b_glob(i)
do i=1,m_problem enddo
write(20,998) i,x_glob(i),r_glob(i),b_glob(i)
enddo
end if
end if end if
998 format(i8,4(2x,g20.14)) 998 format(i8,4(2x,g20.14))
993 format(i6,4(1x,e12.6)) 993 format(i6,4(1x,e12.6))

@ -304,26 +304,23 @@ program mld_cexample_ml
write(*,'("Total memory occupation for PREC : ",i12)')precsize write(*,'("Total memory occupation for PREC : ",i12)')precsize
end if end if
allocate(x_glob(m_problem),r_glob(m_problem),stat=ierr) call psb_gather(x_glob,x_col,desc_a,info,root=psb_root_)
if (ierr /= 0) then if (info == psb_success_) &
write(0,*) 'allocation error: no data collection' & call psb_gather(r_glob,r_col,desc_a,info,root=psb_root_)
else if (info /= psb_success_) goto 9999
call psb_gather(x_glob,x,desc_A,info,root=psb_root_) if (iam == psb_root_) then
call psb_gather(r_glob,r,desc_A,info,root=psb_root_) write(0,'(" ")')
if (iam == psb_root_) then write(0,'("Saving x on file")')
write(0,'(" ")') write(20,*) 'matrix: ',mtrx_file
write(0,'("Saving x on file")') write(20,*) 'computed solution on ',np,' processors.'
write(20,*) 'matrix: ',mtrx_file write(20,*) 'iterations to convergence: ',iter
write(20,*) 'computed solution on ',np,' processors.' write(20,*) 'error estimate (infinity norm) on exit:', &
write(20,*) 'iterations to convergence: ',iter & ' ||r||/(||a||||x||+||b||) = ',err
write(20,*) 'error estimate (infinity norm) on exit:', & write(20,*) 'max residual = ',resmx, resmxp
& ' ||r||/(||a||||x||+||b||) = ',err write(20,'(a8,4(2x,a20))') 'I','X(I)','R(I)','B(I)'
write(20,*) 'max residual = ',resmx, resmxp do i=1,m_problem
write(20,'(a8,4(2x,a20))') 'I','X(I)','R(I)','B(I)' write(20,998) i,x_glob(i),r_glob(i),b_glob(i)
do i=1,m_problem enddo
write(20,998) i,x_glob(i),r_glob(i),b_glob(i)
enddo
end if
end if end if
998 format(i8,4(2x,g20.14)) 998 format(i8,4(2x,g20.14))
993 format(i6,4(1x,e12.6)) 993 format(i6,4(1x,e12.6))

@ -266,26 +266,23 @@ program mld_dexample_ml
write(*,'("Total memory occupation for PREC : ",i12)')precsize write(*,'("Total memory occupation for PREC : ",i12)')precsize
end if end if
allocate(x_glob(m_problem),r_glob(m_problem),stat=ierr) call psb_gather(x_glob,x_col,desc_a,info,root=psb_root_)
if (ierr /= 0) then if (info == psb_success_) &
write(0,*) 'allocation error: no data collection' & call psb_gather(r_glob,r_col,desc_a,info,root=psb_root_)
else if (info /= psb_success_) goto 9999
call psb_gather(x_glob,x,desc_A,info,root=psb_root_) if (iam == psb_root_) then
call psb_gather(r_glob,r,desc_A,info,root=psb_root_) write(0,'(" ")')
if (iam == psb_root_) then write(0,'("Saving x on file")')
write(0,'(" ")') write(20,*) 'matrix: ',mtrx_file
write(0,'("Saving x on file")') write(20,*) 'computed solution on ',np,' processor(s).'
write(20,*) 'matrix: ',mtrx_file write(20,*) 'iterations to convergence: ',iter
write(20,*) 'computed solution on ',np,' processor(s).' write(20,*) 'error estimate (infinity norm) on exit:', &
write(20,*) 'iterations to convergence: ',iter & ' ||r||/(||a||||x||+||b||) = ',err
write(20,*) 'error estimate (infinity norm) on exit:', & write(20,*) 'max residual = ',resmx, resmxp
& ' ||r||/(||a||||x||+||b||) = ',err write(20,'(a8,4(2x,a20))') 'I','X(I)','R(I)','B(I)'
write(20,*) 'max residual = ',resmx, resmxp do i=1,m_problem
write(20,'(a8,4(2x,a20))') 'I','X(I)','R(I)','B(I)' write(20,998) i,x_glob(i),r_glob(i),b_glob(i)
do i=1,m_problem enddo
write(20,998) i,x_glob(i),r_glob(i),b_glob(i)
enddo
end if
end if end if
998 format(i8,4(2x,g20.14)) 998 format(i8,4(2x,g20.14))
993 format(i6,4(1x,e12.6)) 993 format(i6,4(1x,e12.6))

@ -303,26 +303,23 @@ program mld_dexample_ml
write(*,'("Total memory occupation for PREC : ",i12)')precsize write(*,'("Total memory occupation for PREC : ",i12)')precsize
end if end if
allocate(x_glob(m_problem),r_glob(m_problem),stat=ierr) call psb_gather(x_glob,x_col,desc_a,info,root=psb_root_)
if (ierr /= 0) then if (info == psb_success_) &
write(0,*) 'allocation error: no data collection' & call psb_gather(r_glob,r_col,desc_a,info,root=psb_root_)
else if (info /= psb_success_) goto 9999
call psb_gather(x_glob,x,desc_A,info,root=psb_root_) if (iam == psb_root_) then
call psb_gather(r_glob,r,desc_A,info,root=psb_root_) write(0,'(" ")')
if (iam == psb_root_) then write(0,'("Saving x on file")')
write(0,'(" ")') write(20,*) 'matrix: ',mtrx_file
write(0,'("Saving x on file")') write(20,*) 'computed solution on ',np,' processors.'
write(20,*) 'matrix: ',mtrx_file write(20,*) 'iterations to convergence: ',iter
write(20,*) 'computed solution on ',np,' processors.' write(20,*) 'error estimate (infinity norm) on exit:', &
write(20,*) 'iterations to convergence: ',iter & ' ||r||/(||a||||x||+||b||) = ',err
write(20,*) 'error estimate (infinity norm) on exit:', & write(20,*) 'max residual = ',resmx, resmxp
& ' ||r||/(||a||||x||+||b||) = ',err write(20,'(a8,4(2x,a20))') 'I','X(I)','R(I)','B(I)'
write(20,*) 'max residual = ',resmx, resmxp do i=1,m_problem
write(20,'(a8,4(2x,a20))') 'I','X(I)','R(I)','B(I)' write(20,998) i,x_glob(i),r_glob(i),b_glob(i)
do i=1,m_problem enddo
write(20,998) i,x_glob(i),r_glob(i),b_glob(i)
enddo
end if
end if end if
998 format(i8,4(2x,g20.14)) 998 format(i8,4(2x,g20.14))
993 format(i6,4(1x,e12.6)) 993 format(i6,4(1x,e12.6))

@ -267,26 +267,23 @@ program mld_sexample_ml
write(*,'("Total memory occupation for PREC : ",i12)')precsize write(*,'("Total memory occupation for PREC : ",i12)')precsize
end if end if
allocate(x_glob(m_problem),r_glob(m_problem),stat=ierr) call psb_gather(x_glob,x_col,desc_a,info,root=psb_root_)
if (ierr /= 0) then if (info == psb_success_) &
write(0,*) 'allocation error: no data collection' & call psb_gather(r_glob,r_col,desc_a,info,root=psb_root_)
else if (info /= psb_success_) goto 9999
call psb_gather(x_glob,x,desc_A,info,root=psb_root_) if (iam == psb_root_) then
call psb_gather(r_glob,r,desc_A,info,root=psb_root_) write(0,'(" ")')
if (iam == psb_root_) then write(0,'("Saving x on file")')
write(0,'(" ")') write(20,*) 'matrix: ',mtrx_file
write(0,'("Saving x on file")') write(20,*) 'computed solution on ',np,' processor(s).'
write(20,*) 'matrix: ',mtrx_file write(20,*) 'iterations to convergence: ',iter
write(20,*) 'computed solution on ',np,' processor(s).' write(20,*) 'error estimate (infinity norm) on exit:', &
write(20,*) 'iterations to convergence: ',iter & ' ||r||/(||a||||x||+||b||) = ',err
write(20,*) 'error estimate (infinity norm) on exit:', & write(20,*) 'max residual = ',resmx, resmxp
& ' ||r||/(||a||||x||+||b||) = ',err write(20,'(a8,4(2x,a20))') 'I','X(I)','R(I)','B(I)'
write(20,*) 'max residual = ',resmx, resmxp do i=1,m_problem
write(20,'(a8,4(2x,a20))') 'I','X(I)','R(I)','B(I)' write(20,998) i,x_glob(i),r_glob(i),b_glob(i)
do i=1,m_problem enddo
write(20,998) i,x_glob(i),r_glob(i),b_glob(i)
enddo
end if
end if end if
998 format(i8,4(2x,g20.14)) 998 format(i8,4(2x,g20.14))
993 format(i6,4(1x,e12.6)) 993 format(i6,4(1x,e12.6))

@ -304,26 +304,23 @@ program mld_sexample_ml
write(*,'("Total memory occupation for PREC : ",i12)')precsize write(*,'("Total memory occupation for PREC : ",i12)')precsize
end if end if
allocate(x_glob(m_problem),r_glob(m_problem),stat=ierr) call psb_gather(x_glob,x_col,desc_a,info,root=psb_root_)
if (ierr /= 0) then if (info == psb_success_) &
write(0,*) 'allocation error: no data collection' & call psb_gather(r_glob,r_col,desc_a,info,root=psb_root_)
else if (info /= psb_success_) goto 9999
call psb_gather(x_glob,x,desc_A,info,root=psb_root_) if (iam == psb_root_) then
call psb_gather(r_glob,r,desc_A,info,root=psb_root_) write(0,'(" ")')
if (iam == psb_root_) then write(0,'("Saving x on file")')
write(0,'(" ")') write(20,*) 'matrix: ',mtrx_file
write(0,'("Saving x on file")') write(20,*) 'computed solution on ',np,' processors.'
write(20,*) 'matrix: ',mtrx_file write(20,*) 'iterations to convergence: ',iter
write(20,*) 'computed solution on ',np,' processors.' write(20,*) 'error estimate (infinity norm) on exit:', &
write(20,*) 'iterations to convergence: ',iter & ' ||r||/(||a||||x||+||b||) = ',err
write(20,*) 'error estimate (infinity norm) on exit:', & write(20,*) 'max residual = ',resmx, resmxp
& ' ||r||/(||a||||x||+||b||) = ',err write(20,'(a8,4(2x,a20))') 'I','X(I)','R(I)','B(I)'
write(20,*) 'max residual = ',resmx, resmxp do i=1,m_problem
write(20,'(a8,4(2x,a20))') 'I','X(I)','R(I)','B(I)' write(20,998) i,x_glob(i),r_glob(i),b_glob(i)
do i=1,m_problem enddo
write(20,998) i,x_glob(i),r_glob(i),b_glob(i)
enddo
end if
end if end if
998 format(i8,4(2x,g20.14)) 998 format(i8,4(2x,g20.14))
993 format(i6,4(1x,e12.6)) 993 format(i6,4(1x,e12.6))

@ -266,26 +266,23 @@ program mld_zexample_ml
write(*,'("Total memory occupation for PREC : ",i12)')precsize write(*,'("Total memory occupation for PREC : ",i12)')precsize
end if end if
allocate(x_glob(m_problem),r_glob(m_problem),stat=ierr) call psb_gather(x_glob,x_col,desc_a,info,root=psb_root_)
if (ierr /= 0) then if (info == psb_success_) &
write(0,*) 'allocation error: no data collection' & call psb_gather(r_glob,r_col,desc_a,info,root=psb_root_)
else if (info /= psb_success_) goto 9999
call psb_gather(x_glob,x,desc_A,info,root=psb_root_) if (iam == psb_root_) then
call psb_gather(r_glob,r,desc_A,info,root=psb_root_) write(0,'(" ")')
if (iam == psb_root_) then write(0,'("Saving x on file")')
write(0,'(" ")') write(20,*) 'matrix: ',mtrx_file
write(0,'("Saving x on file")') write(20,*) 'computed solution on ',np,' processor(s).'
write(20,*) 'matrix: ',mtrx_file write(20,*) 'iterations to convergence: ',iter
write(20,*) 'computed solution on ',np,' processor(s).' write(20,*) 'error estimate (infinity norm) on exit:', &
write(20,*) 'iterations to convergence: ',iter & ' ||r||/(||a||||x||+||b||) = ',err
write(20,*) 'error estimate (infinity norm) on exit:', & write(20,*) 'max residual = ',resmx, resmxp
& ' ||r||/(||a||||x||+||b||) = ',err write(20,'(a8,4(2x,a20))') 'I','X(I)','R(I)','B(I)'
write(20,*) 'max residual = ',resmx, resmxp do i=1,m_problem
write(20,'(a8,4(2x,a20))') 'I','X(I)','R(I)','B(I)' write(20,998) i,x_glob(i),r_glob(i),b_glob(i)
do i=1,m_problem enddo
write(20,998) i,x_glob(i),r_glob(i),b_glob(i)
enddo
end if
end if end if
998 format(i8,4(2x,g20.14)) 998 format(i8,4(2x,g20.14))
993 format(i6,4(1x,e12.6)) 993 format(i6,4(1x,e12.6))

@ -303,26 +303,23 @@ program mld_zexample_ml
write(*,'("Total memory occupation for PREC : ",i12)')precsize write(*,'("Total memory occupation for PREC : ",i12)')precsize
end if end if
allocate(x_glob(m_problem),r_glob(m_problem),stat=ierr) call psb_gather(x_glob,x_col,desc_a,info,root=psb_root_)
if (ierr /= 0) then if (info == psb_success_) &
write(0,*) 'allocation error: no data collection' & call psb_gather(r_glob,r_col,desc_a,info,root=psb_root_)
else if (info /= psb_success_) goto 9999
call psb_gather(x_glob,x,desc_A,info,root=psb_root_) if (iam == psb_root_) then
call psb_gather(r_glob,r,desc_A,info,root=psb_root_) write(0,'(" ")')
if (iam == psb_root_) then write(0,'("Saving x on file")')
write(0,'(" ")') write(20,*) 'matrix: ',mtrx_file
write(0,'("Saving x on file")') write(20,*) 'computed solution on ',np,' processors.'
write(20,*) 'matrix: ',mtrx_file write(20,*) 'iterations to convergence: ',iter
write(20,*) 'computed solution on ',np,' processors.' write(20,*) 'error estimate (infinity norm) on exit:', &
write(20,*) 'iterations to convergence: ',iter & ' ||r||/(||a||||x||+||b||) = ',err
write(20,*) 'error estimate (infinity norm) on exit:', & write(20,*) 'max residual = ',resmx, resmxp
& ' ||r||/(||a||||x||+||b||) = ',err write(20,'(a8,4(2x,a20))') 'I','X(I)','R(I)','B(I)'
write(20,*) 'max residual = ',resmx, resmxp do i=1,m_problem
write(20,'(a8,4(2x,a20))') 'I','X(I)','R(I)','B(I)' write(20,998) i,x_glob(i),r_glob(i),b_glob(i)
do i=1,m_problem enddo
write(20,998) i,x_glob(i),r_glob(i),b_glob(i)
enddo
end if
end if end if
998 format(i8,4(2x,g20.14)) 998 format(i8,4(2x,g20.14))
993 format(i6,4(1x,e12.6)) 993 format(i6,4(1x,e12.6))

@ -338,27 +338,24 @@ program cf_sample
write(psb_out_unit,'("Total memory occupation for PREC : ",i12)')precsize write(psb_out_unit,'("Total memory occupation for PREC : ",i12)')precsize
end if end if
allocate(x_col_glob(m_problem),r_col_glob(m_problem),stat=ierr) call psb_gather(x_col_glob,x_col,desc_a,info,root=psb_root_)
if (ierr /= 0) then if (info == psb_success_) &
write(psb_err_unit,*) 'allocation error: no data collection' & call psb_gather(r_col_glob,r_col,desc_a,info,root=psb_root_)
else if (info /= psb_success_) goto 9999
call psb_gather(x_col_glob,x_col,desc_a,info,root=psb_root_) if (iam == psb_root_) then
call psb_gather(r_col_glob,r_col,desc_a,info,root=psb_root_) write(psb_err_unit,'(" ")')
if (iam == psb_root_) then write(psb_err_unit,'("Saving x on file")')
write(psb_err_unit,'(" ")') write(20,*) 'matrix: ',mtrx_file
write(psb_err_unit,'("Saving x on file")') write(20,*) 'computed solution on ',np,' processors.'
write(20,*) 'matrix: ',mtrx_file write(20,*) 'iterations to convergence: ',iter
write(20,*) 'computed solution on ',np,' processors.' write(20,*) 'error estimate (infinity norm) on exit:', &
write(20,*) 'iterations to convergence: ',iter & ' ||r||/(||a||||x||+||b||) = ',err
write(20,*) 'error estimate (infinity norm) on exit:', & write(20,'("Residual norm 2 : ",es12.5)')resmx
& ' ||r||/(||a||||x||+||b||) = ',err write(20,'("Residual norm inf : ",es12.5)')resmxp
write(20,'("Residual norm 2 : ",es12.5)')resmx write(20,'(a8,4(2x,a20))') 'I','X(I)','R(I)','B(I)'
write(20,'("Residual norm inf : ",es12.5)')resmxp do i=1,m_problem
write(20,'(a8,4(2x,a20))') 'I','X(I)','R(I)','B(I)' write(20,998) i,x_col_glob(i),r_col_glob(i),b_col_glob(i)
do i=1,m_problem enddo
write(20,998) i,x_col_glob(i),r_col_glob(i),b_col_glob(i)
enddo
end if
end if end if
998 format(i8,4(2x,g20.14)) 998 format(i8,4(2x,g20.14))
993 format(i6,4(1x,e12.6)) 993 format(i6,4(1x,e12.6))

@ -342,27 +342,24 @@ program df_sample
write(psb_out_unit,'("Total memory occupation for PREC : ",i12)')precsize write(psb_out_unit,'("Total memory occupation for PREC : ",i12)')precsize
end if end if
allocate(x_col_glob(m_problem),r_col_glob(m_problem),stat=ierr) call psb_gather(x_col_glob,x_col,desc_a,info,root=psb_root_)
if (ierr /= 0) then if (info == psb_success_) &
write(psb_err_unit,*) 'allocation error: no data collection' & call psb_gather(r_col_glob,r_col,desc_a,info,root=psb_root_)
else if (info /= psb_success_) goto 9999
call psb_gather(x_col_glob,x_col,desc_a,info,root=psb_root_) if (iam == psb_root_) then
call psb_gather(r_col_glob,r_col,desc_a,info,root=psb_root_) write(psb_err_unit,'(" ")')
if (iam == psb_root_) then write(psb_err_unit,'("Saving x on file")')
write(psb_err_unit,'(" ")') write(20,*) 'matrix: ',mtrx_file
write(psb_err_unit,'("Saving x on file")') write(20,*) 'computed solution on ',np,' processors.'
write(20,*) 'matrix: ',mtrx_file write(20,*) 'iterations to convergence: ',iter
write(20,*) 'computed solution on ',np,' processors.' write(20,*) 'error estimate (infinity norm) on exit:', &
write(20,*) 'iterations to convergence: ',iter & ' ||r||/(||a||||x||+||b||) = ',err
write(20,*) 'error estimate (infinity norm) on exit:', & write(20,'("Residual norm 2 : ",es12.5)')resmx
& ' ||r||/(||a||||x||+||b||) = ',err write(20,'("Residual norm inf : ",es12.5)')resmxp
write(20,'("Residual norm 2 : ",es12.5)')resmx write(20,'(a8,4(2x,a20))') 'I','X(I)','R(I)','B(I)'
write(20,'("Residual norm inf : ",es12.5)')resmxp do i=1,m_problem
write(20,'(a8,4(2x,a20))') 'I','X(I)','R(I)','B(I)' write(20,998) i,x_col_glob(i),r_col_glob(i),b_col_glob(i)
do i=1,m_problem enddo
write(20,998) i,x_col_glob(i),r_col_glob(i),b_col_glob(i)
enddo
end if
end if end if
998 format(i8,4(2x,g20.14)) 998 format(i8,4(2x,g20.14))
993 format(i6,4(1x,e12.6)) 993 format(i6,4(1x,e12.6))

@ -338,27 +338,24 @@ program sf_sample
write(psb_out_unit,'("Total memory occupation for PREC : ",i12)')precsize write(psb_out_unit,'("Total memory occupation for PREC : ",i12)')precsize
end if end if
allocate(x_col_glob(m_problem),r_col_glob(m_problem),stat=ierr) call psb_gather(x_col_glob,x_col,desc_a,info,root=psb_root_)
if (ierr /= 0) then if (info == psb_success_) &
write(psb_err_unit,*) 'allocation error: no data collection' & call psb_gather(r_col_glob,r_col,desc_a,info,root=psb_root_)
else if (info /= psb_success_) goto 9999
call psb_gather(x_col_glob,x_col,desc_a,info,root=psb_root_) if (iam == psb_root_) then
call psb_gather(r_col_glob,r_col,desc_a,info,root=psb_root_) write(psb_err_unit,'(" ")')
if (iam == psb_root_) then write(psb_err_unit,'("Saving x on file")')
write(psb_err_unit,'(" ")') write(20,*) 'matrix: ',mtrx_file
write(psb_err_unit,'("Saving x on file")') write(20,*) 'computed solution on ',np,' processors.'
write(20,*) 'matrix: ',mtrx_file write(20,*) 'iterations to convergence: ',iter
write(20,*) 'computed solution on ',np,' processors.' write(20,*) 'error estimate (infinity norm) on exit:', &
write(20,*) 'iterations to convergence: ',iter & ' ||r||/(||a||||x||+||b||) = ',err
write(20,*) 'error estimate (infinity norm) on exit:', & write(20,'("Residual norm 2 : ",es12.5)')resmx
& ' ||r||/(||a||||x||+||b||) = ',err write(20,'("Residual norm inf : ",es12.5)')resmxp
write(20,'("Residual norm 2 : ",es12.5)')resmx write(20,'(a8,4(2x,a20))') 'I','X(I)','R(I)','B(I)'
write(20,'("Residual norm inf : ",es12.5)')resmxp do i=1,m_problem
write(20,'(a8,4(2x,a20))') 'I','X(I)','R(I)','B(I)' write(20,998) i,x_col_glob(i),r_col_glob(i),b_col_glob(i)
do i=1,m_problem enddo
write(20,998) i,x_col_glob(i),r_col_glob(i),b_col_glob(i)
enddo
end if
end if end if
998 format(i8,4(2x,g20.14)) 998 format(i8,4(2x,g20.14))
993 format(i6,4(1x,e12.6)) 993 format(i6,4(1x,e12.6))

@ -338,27 +338,24 @@ program zf_sample
write(psb_out_unit,'("Total memory occupation for PREC : ",i12)')precsize write(psb_out_unit,'("Total memory occupation for PREC : ",i12)')precsize
end if end if
allocate(x_col_glob(m_problem),r_col_glob(m_problem),stat=ierr) call psb_gather(x_col_glob,x_col,desc_a,info,root=psb_root_)
if (ierr /= 0) then if (info == psb_success_) &
write(psb_err_unit,*) 'allocation error: no data collection' & call psb_gather(r_col_glob,r_col,desc_a,info,root=psb_root_)
else if (info /= psb_success_) goto 9999
call psb_gather(x_col_glob,x_col,desc_a,info,root=psb_root_) if (iam == psb_root_) then
call psb_gather(r_col_glob,r_col,desc_a,info,root=psb_root_) write(psb_err_unit,'(" ")')
if (iam == psb_root_) then write(psb_err_unit,'("Saving x on file")')
write(psb_err_unit,'(" ")') write(20,*) 'matrix: ',mtrx_file
write(psb_err_unit,'("Saving x on file")') write(20,*) 'computed solution on ',np,' processors.'
write(20,*) 'matrix: ',mtrx_file write(20,*) 'iterations to convergence: ',iter
write(20,*) 'computed solution on ',np,' processors.' write(20,*) 'error estimate (infinity norm) on exit:', &
write(20,*) 'iterations to convergence: ',iter & ' ||r||/(||a||||x||+||b||) = ',err
write(20,*) 'error estimate (infinity norm) on exit:', & write(20,'("Residual norm 2 : ",es12.5)')resmx
& ' ||r||/(||a||||x||+||b||) = ',err write(20,'("Residual norm inf : ",es12.5)')resmxp
write(20,'("Residual norm 2 : ",es12.5)')resmx write(20,'(a8,4(2x,a20))') 'I','X(I)','R(I)','B(I)'
write(20,'("Residual norm inf : ",es12.5)')resmxp do i=1,m_problem
write(20,'(a8,4(2x,a20))') 'I','X(I)','R(I)','B(I)' write(20,998) i,x_col_glob(i),r_col_glob(i),b_col_glob(i)
do i=1,m_problem enddo
write(20,998) i,x_col_glob(i),r_col_glob(i),b_col_glob(i)
enddo
end if
end if end if
998 format(i8,4(2x,g20.14)) 998 format(i8,4(2x,g20.14))
993 format(i6,4(1x,e12.6)) 993 format(i6,4(1x,e12.6))

Loading…
Cancel
Save