X-Git-Url: https://bilbo.iut-bm.univ-fcomte.fr/and/gitweb/GMRES2stage.git/blobdiff_plain/26119b98c896e296f4ec91c15272a9575fe250a9..8192f9fb8a826474106f2a576ca55c7a2a2fab1a:/IJHPCN/paper.tex

diff --git a/IJHPCN/paper.tex b/IJHPCN/paper.tex
index 410b7ad..ff3c605 100644
--- a/IJHPCN/paper.tex
+++ b/IJHPCN/paper.tex
@@ -911,8 +911,20 @@ taken into account with TSIRM.
 
 
 %%NEW
+It  is well-known  that  preconditioners have  a very  strong  influence on  the
+convergence  of  linear  systems.   Previously,  we  have  used  some  classical
+preconditioners provided  by PETSc.  HYPRE~\cite{Falgout06} is  a very efficient
+preconditioner  based  on  structured   multigrid  and  element-based  algebraic
+multigrid algorithms. In Table~\ref{tab:06} we report an experiment that show it
+reduces  drastivally  the  number  of   iterations  but  sometimes  it  is  very
+time-consuming compared  to other simpler  precondititioners. In this  table, we
+can see that  for $512$ and $2,048$ cores, HYPRE  reduces drastically the number
+of  iterations  for FGMRES  to  reach  the  convergence.   However, it  is  very
+time-consuming compared  to TSIRM  and FGMRES with  the ASM  preconditioner. For
+$4,096$ and $8,192$ cores, FGMRES with HYPRE did not converge in less than 1000s
+where FGMRES and  TSIRM with the ASM  converge very quickly. Finally,  it can be
+noticed that TSIRM is also faster than FGMRES and it requires less iterations.
 
-{\bf example ex45/ksp Ã  dÃ©crire et commenter en montrant que hypre est pourri avec cet exemple}
 
 \begin{table*}[htbp]
 \begin{center}
@@ -925,7 +937,7 @@ taken into account with TSIRM.
    512              & 5.54      & 685    & 2.5 &       570 & 2.21   & 128.9 & 9     \\
    2048             & 14.95     & 1,560  &  4.32 &     746 & 3.48   & 335.7 & 9 \\
    4096             & 25.13    & 2,369   & 5.61 &   859    & 4.48   & >1000  & -- \\
-   8192             & 44.35   & 3,197   &  7.6  &  1083    &  5.84  & >1000 &  --   \\
+   8192             & 44.35   & 3,197   &  7.6  &  1,083    &  5.84  & >1000 &  --   \\
 
 \hline
 
@@ -982,7 +994,7 @@ caption of the table.
 \end{center}
 \end{table*}
 
-In Table~\cite{tab:08}, the results of the experiments with the example ex20 are
+In Table~\ref{tab:08}, the results of the experiments with the example ex20 are
 reported. The block  Jacobi preconditioner has also been used  and CGLS to solve
 the minimization step for TSIRM. For this example, we can observ that the number
 of  iterations  for  FMGRES  increase  drastically  when  the  number  of  cores
@@ -1021,82 +1033,47 @@ cores to more than 16 with 8,192 cores.
 
 %%NEW
 \subsection{Influence of parameters for TSIRM}
-In this section we present some experimental results in order to study the influence of some parameters on the TSIRM algorithm. We conducted experiments on $16$ cores to solve 3D problems of size $200,000$ components per core. We solved nonlinear problems token from examples of PETSc. We fixed some parameters of the TSIRM algorithm as follows: the nonlinear systems are solved with a precision of $10^{-8}$, block Jacobi preconditioner is used, the tolerance threshold $\epsilon_{tsirm}$ is $10^{-8}$ , the maximum number of iterations $max\_iter_{tsirm}$ is set to $10,000$ iterations, the FGMRES method is used as the inner solver with a tolerance threshold $\epsilon_{kryl}=10^{-10}$ and the least-squares problem is solved with a precision $\epsilon_{ls}=10^{-40}$ in the minimization process.
+In this section we present some experimental results in order to study the influence of some parameters on the TSIRM algorithm which are: the method to solve the linear least-squares problem in the minimization process, the number of inner iterations $max\_iter_{kryl}$, and the size $s$ of matrix $AS$ (i.e. matrix $S$) of the least-squares problem. We conducted experiments on $16$ cores to solve linear and nonlinear problems of size $200,000$ components per core. We solved problems token from examples {\it ksp} and {\it snes} of PETSc~\cite{ksp,snes}. We fixed some parameters of the TSIRM algorithm as follows: the nonlinear systems are solved with a precision of $10^{-8}$, the tolerance threshold and the maximum number of iterations of TSIRM algorithm are $\epsilon_{tsirm}=10^{-10}$ and $max\_iter_{tsirm}=10,000$, the FGMRES method is used as the inner solver with a tolerance threshold $\epsilon_{kryl}=10^{-10}$, the additive Schwarz method (ASM) is used as a preconditioner, and the least-squares problem is solved with a precision $\epsilon_{ls}=10^{-40}$ in the minimization process.
 
-%time mpirun ../ex48 -da_grid_x 147 -da_grid_y 147 -da_grid_z 147 -snes_rtol 1.e-8 -snes_monitor -ksp_type tsirm -ksp_pc_type bjacobi -pc_type ksp -ksp_tsirm_tol 1e-8 -ksp_tsirm_maxiter 10000 -ksp_ksp_type fgmres -ksp_tsirm_max_inner_iter 30 -ksp_tsirm_inner_restarts 30 -ksp_tsirm_inner_tol 1e-10 -ksp_tsirm_cgls 0 -ksp_tsirm_tol_ls 1.e-40 -ksp_tsirm_maxiter_ls 15 -ksp_tsirm_size_ls 10 
+%time mpirun ../ex34 -da_grid_x 147 -da_grid_y 147 -da_grid_z 147 -ksp_type tsirm -ksp_pc_type asm -pc_type ksp -ksp_tsirm_tol 1e-10 -ksp_tsirm_maxiter 10000 -ksp_ksp_type fgmres -ksp_tsirm_max_inner_iter 30 -ksp_tsirm_inner_tol 1e-10 -ksp_tsirm_cgls 0 -ksp_tsirm_tol_ls 1.e-40 -ksp_tsirm_maxiter_ls 20 -ksp_tsirm_size_ls 10
 \begin{figure}[htbp]
 \centering
-  \includegraphics[angle=-90,width=0.5\textwidth]{ksp_tsirm_cgls_iter_total}
-\caption{Number of total iterations using two different methods for the minimization: LSQR and CGLS.}
-\label{fig:cgls-iter} 
+  \includegraphics[width=0.5\textwidth]{ksp_tsirm_cgls}
+\caption{Number of total iterations using two different methods for the minimization: CGLS and LSQR.}
+\label{fig:cgls} 
 \end{figure}
 
 \begin{figure}[htbp]
 \centering
-  \includegraphics[angle=-90,width=0.5\textwidth]{ksp_tsirm_cgls_time}
-\caption{Execution time in seconds using two different methods for the minimization: LSQR and CGLS.}
-\label{fig:cgls-time} 
+  \includegraphics[width=0.5\textwidth]{ksp_ex12}
+\caption{Total number of iterations in example {\it ksp ex12} of PETSc by varyin the number of inner iterations and the size of the least-squares problem.}
+\label{fig:ksp_ex12} 
 \end{figure}
 
-%time mpirun ../ex35 -da_grid_x 147 -da_grid_y 147 -da_grid_z 147 -snes_rtol 1.e-8 -snes_monitor -ksp_type tsirm -ksp_pc_type bjacobi -pc_type ksp -ksp_tsirm_tol 1e-8 -ksp_tsirm_maxiter 10000 -ksp_ksp_type fgmres -ksp_tsirm_max_inner_iter 30 -ksp_tsirm_inner_restarts 38 -ksp_tsirm_inner_tol 1e-10 -ksp_tsirm_cgls 0 -ksp_tsirm_tol_ls 1.e-40 -ksp_tsirm_maxiter_ls 15 -ksp_tsirm_size_ls 10
 \begin{figure}[htbp]
 \centering
-  \includegraphics[angle=-90,width=0.5\textwidth]{ksp_tsirm_inner_restarts_iter_total}
-\caption{Number of total iterations with variation of restarts in the inner solver FGMRES.}
-\label{fig:inner_restarts_iter_total} 
+  \includegraphics[width=0.5\textwidth]{ksp_ex34}
+\caption{Total number of iterations in example {\it ksp ex34} of PETSc by varyin the number of inner iterations and the size of the least-squares problem.}
+\label{fig:ksp_ex34} 
 \end{figure}
 
 \begin{figure}[htbp]
 \centering
-  \includegraphics[angle=-90,width=0.5\textwidth]{ksp_tsirm_inner_restarts_time}
-\caption{Execution time in seconds with variation of restarts in the inner solver FGMRES.}
-\label{fig:inner_restarts_time} 
+  \includegraphics[width=0.5\textwidth]{snes_ex14}
+\caption{Total number of iterations in example {\it snes ex14} of PETSc by varyin the number of inner iterations and the size of the least-squares problem.}
+\label{fig:snes_ex14} 
 \end{figure}
 
-%time mpirun ../ex14 -da_grid_x 147 -da_grid_y 147 -da_grid_z 147 -snes_rtol 1.e-8 -snes_monitor -ksp_type tsirm -ksp_pc_type bjacobi -pc_type ksp -ksp_tsirm_tol 1e-8 -ksp_tsirm_maxiter 10000 -ksp_ksp_type fgmres -ksp_tsirm_max_inner_iter 1000 -ksp_tsirm_inner_restarts 30 -ksp_tsirm_inner_tol 1e-10 -ksp_tsirm_cgls 0 -ksp_tsirm_tol_ls 1.e-40 -ksp_tsirm_maxiter_ls 15 -ksp_tsirm_size_ls 10
 \begin{figure}[htbp]
 \centering
-  \includegraphics[angle=-90,width=0.5\textwidth]{ksp_tsirm_max_inner_iter}
-\caption{Number of total iterations with variation of number of inner iterations.}
-\label{fig:max_inner_iter} 
+  \includegraphics[width=0.5\textwidth]{snes_ex20}
+\caption{Total number of iterations in example {\it snes ex20} of PETSc by varyin the number of inner iterations and the size of the least-squares problem.}
+\label{fig:snes_ex20} 
 \end{figure}
 
-\begin{figure}[htbp]
-\centering
-  \includegraphics[angle=-90,width=0.5\textwidth]{ksp_tsirm_max_inner_time}
-\caption{Execution time in seconds with variation of number of inner iterations.}
-\label{fig:max_inner_time} 
-\end{figure}
-
-%time mpirun ../ex14 -da_grid_x 147 -da_grid_y 147 -da_grid_z 147 -snes_rtol 1.e-8 -snes_monitor -ksp_type tsirm -ksp_pc_type bjacobi -pc_type ksp -ksp_tsirm_tol 1e-8 -ksp_tsirm_maxiter 10000 -ksp_ksp_type fgmres -ksp_tsirm_max_inner_iter 30 -ksp_tsirm_inner_restarts 30 -ksp_tsirm_inner_tol 1e-10 -ksp_tsirm_cgls 0 -ksp_tsirm_tol_ls 1.e-40 -ksp_tsirm_maxiter_ls 5 -ksp_tsirm_size_ls 10
-\begin{figure}[htbp]
-\centering
-  \includegraphics[angle=-90,width=0.5\textwidth]{ksp_tsirm_maxiter_ls_iter}
-\caption{Number of total iterations with variation of number of iterations in the minimization process.}
-\label{fig:maxiter_ls_iter} 
-\end{figure}
 
-\begin{figure}[htbp]
-\centering
-  \includegraphics[angle=-90,width=0.5\textwidth]{ksp_tsirm_maxiter_ls_time}
-\caption{Execution time in seconds with variation of number of iterations in the minimization process.}
-\label{fig:maxiter_ls_time} 
-\end{figure}
 
-%time mpirun ../ex14 -da_grid_x 147 -da_grid_y 147 -da_grid_z 147 -snes_rtol 1.e-8 -snes_monitor -ksp_type tsirm -ksp_pc_type bjacobi -pc_type ksp -ksp_tsirm_tol 1e-8 -ksp_tsirm_maxiter 10000 -ksp_ksp_type fgmres -ksp_tsirm_max_inner_iter 30 -ksp_tsirm_inner_restarts 30 -ksp_tsirm_inner_tol 1e-10 -ksp_tsirm_cgls 0 -ksp_tsirm_tol_ls 1.e-40 -ksp_tsirm_maxiter_ls 15 -ksp_tsirm_size_ls 2
-\begin{figure}[htbp]
-\centering
-  \includegraphics[angle=-90,width=0.5\textwidth]{ksp_tsirm_size_ls_iter}
-\caption{Number of total iterations with variation of the size of the least-squares problem in the minimization process.}
-\label{fig:size_ls_iter} 
-\end{figure}
 
-\begin{figure}[htbp]
-\centering
-  \includegraphics[angle=-90,width=0.5\textwidth]{ksp_tsirm_size_ls_time}
-\caption{Execution time in seconds with variation of the size of the least-squares problem in the minimization process.}
-\label{fig:size_ls_time} 
-\end{figure}
 
 %%ENDNEW
 
