X-Git-Url: https://bilbo.iut-bm.univ-fcomte.fr/and/gitweb/GMRES2stage.git/blobdiff_plain/7122f8d886bcd6191b7eee5017e8c96944ab7e56..afd1dcf93c8fd8139664e13851608b226c0a23b3:/IJHPCN/paper.tex diff --git a/IJHPCN/paper.tex b/IJHPCN/paper.tex index db5f791..253da34 100644 --- a/IJHPCN/paper.tex +++ b/IJHPCN/paper.tex @@ -1033,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}~\cite{ksp} and {\it snes}~\cite{snes} of PETSc. 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