]> AND Private Git Repository - GMRES2stage.git/blobdiff - IJHPCN/paper.tex
Logo AND Algorithmique Numérique Distribuée

Private GIT Repository
Ajout: figures size_ls_iter size_ls_time
[GMRES2stage.git] / IJHPCN / paper.tex
index 9c7ff0ca1441206d71ffbf2d1eae683cfd1505a1..4b06bd77ffd87d86d67ea86124070688b459169b 100644 (file)
@@ -608,7 +608,7 @@ However, for parallel applications, all  the preconditioners based on matrix fac
 are  not  available. In  our  experiments, we  have  tested  different kinds  of\r
 preconditioners, but  as it is  not the subject  of this paper, we  will not\r
 present results with many preconditioners. In  practice, we have chosen to use a\r
-multigrid (mg)  and successive  over-relaxation (sor). For  further details  on the\r
+multigrid (MG)  and successive  over-relaxation (SOR). For  further details  on the\r
 preconditioners in PETSc, readers are referred to~\cite{petsc-web-page}.\r
 \r
 \r
@@ -621,18 +621,18 @@ preconditioners in PETSc, readers are referred to~\cite{petsc-web-page}.
   nb. cores & precond   & \multicolumn{2}{c|}{FGMRES} & \multicolumn{2}{c|}{TSIRM CGLS} &  \multicolumn{2}{c|}{TSIRM LSQR} & best gain \\ \r
 \cline{3-8}\r
              &                       & Time  & \# Iter.  & Time  & \# Iter. & Time  & \# Iter. & \\\hline \hline\r
-  2,048      & mg                    & 403.49   & 18,210    & 73.89  & 3,060   & 77.84  & 3,270  & 5.46 \\\r
-  2,048      & sor                   & 745.37   & 57,060    & 87.31  & 6,150   & 104.21 & 7,230  & 8.53 \\\r
-  4,096      & mg                    & 562.25   & 25,170    & 97.23  & 3,990   & 89.71  & 3,630  & 6.27 \\\r
-  4,096      & sor                   & 912.12   & 70,194    & 145.57 & 9,750   & 168.97 & 10,980 & 6.26 \\\r
-  8,192      & mg                    & 917.02   & 40,290    & 148.81 & 5,730   & 143.03 & 5,280  & 6.41 \\\r
-  8,192      & sor                   & 1,404.53 & 106,530   & 212.55 & 12,990  & 180.97 & 10,470 & 7.76 \\\r
-  16,384     & mg                    & 1,430.56 & 63,930    & 237.17 & 8,310   & 244.26 & 7,950  & 6.03 \\\r
-  16,384     & sor                   & 2,852.14 & 216,240   & 418.46 & 21,690  & 505.26 & 23,970 & 6.82 \\\r
+  2,048      & MG                    & 403.49   & 18,210    & 73.89  & 3,060   & 77.84  & 3,270  & 5.46 \\\r
+  2,048      & SOR                   & 745.37   & 57,060    & 87.31  & 6,150   & 104.21 & 7,230  & 8.53 \\\r
+  4,096      & MG                    & 562.25   & 25,170    & 97.23  & 3,990   & 89.71  & 3,630  & 6.27 \\\r
+  4,096      & SOR                   & 912.12   & 70,194    & 145.57 & 9,750   & 168.97 & 10,980 & 6.26 \\\r
+  8,192      & MG                    & 917.02   & 40,290    & 148.81 & 5,730   & 143.03 & 5,280  & 6.41 \\\r
+  8,192      & SOR                   & 1,404.53 & 106,530   & 212.55 & 12,990  & 180.97 & 10,470 & 7.76 \\\r
+  16,384     & MG                    & 1,430.56 & 63,930    & 237.17 & 8,310   & 244.26 & 7,950  & 6.03 \\\r
+  16,384     & SOR                   & 2,852.14 & 216,240   & 418.46 & 21,690  & 505.26 & 23,970 & 6.82 \\\r
 \hline\r
 \r
 \end{tabular}\r
-\caption{Comparison of FGMRES and TSIRM with FGMRES for example ex15 of PETSc/KSP with two preconditioners (mg and sor) having 25,000 components per core on Juqueen ($\epsilon_{tsirm}=1e-3$, $max\_iter_{kryl}=30$, $s=12$, $max\_iter_{ls}=15$, $\epsilon_{ls}=1e-40$),  time is expressed in seconds.}\r
+\caption{Comparison of FGMRES and TSIRM with FGMRES for example ex15 of PETSc/KSP with two preconditioners (MG and SOR) having 25,000 components per core on Juqueen ($\epsilon_{tsirm}=1e-3$, $max\_iter_{kryl}=30$, $s=12$, $max\_iter_{ls}=15$, $\epsilon_{ls}=1e-40$),  time is expressed in seconds.}\r
 \label{tab:03}\r
 \end{center}\r
 \end{table*}\r
@@ -640,7 +640,7 @@ preconditioners in PETSc, readers are referred to~\cite{petsc-web-page}.
 Table~\ref{tab:03} shows  the execution  times and the  number of  iterations of\r
 example ex15  of PETSc on the  Juqueen architecture. Different  numbers of cores\r
 are studied  ranging from 2,048 up-to  16,383 with the  two preconditioners {\it\r
-  mg}  and {\it  sor}.   For those  experiments,  the number  of components  (or\r
+  MG}  and {\it  SOR}.   For those  experiments,  the number  of components  (or\r
 unknowns  of  the problems)  per  core  is fixed  at  25,000,  also called  weak\r
 scaling. This number  can seem relatively small. In  fact, for some applications\r
 that  need a  lot of  memory, the  number of  components per  processor requires\r
@@ -786,63 +786,188 @@ taken into account with TSIRM.
 \r
 %%NEW\r
 \r
+{\bf example ex45/ksp à décrire et commenter en montrant que hypre est pourri avec cet exemple}\r
+\r
+\begin{table*}[htbp]\r
+\begin{center}\r
+\begin{tabular}{|r|r|r|r|r|r|r|r|} \r
+\hline\r
+\r
+  nb. cores   & \multicolumn{2}{c|}{FGMRES/ASM} & \multicolumn{2}{c|}{TSIRM CGLS/ASM} & gain& \multicolumn{2}{c|}{FGMRES/HYPRE}   \\ \r
+\cline{2-5} \cline{7-8}\r
+                    & Time  & \# Iter.  & Time  & \# Iter. &        & Time  & \# Iter.   \\\hline \hline\r
+   512              & 5.54      & 685    & 2.5 &       570 & 2.21   & 128.9 & 9     \\\r
+   2048             & 14.95     & 1,560  &  4.32 &     746 & 3.48   & 335.7 & 9 \\\r
+   4096             & 25.13    & 2,369   & 5.61 &   859    & 4.48   & >1000  & -- \\\r
+   8192             & 44.35   & 3,197   &  7.6  &  1083    &  5.84  & >1000 &  --   \\\r
+\r
+\hline\r
+\r
+\end{tabular}\r
+\caption{Comparison of FGMRES  and TSIRM for ex45 of PETSc/KSP with two preconditioner (ASM and HYPRE)  having 5,000 components per core on Curie ($\epsilon_{tsirm}=1e-10$, $max\_iter_{kryl}=30$, $s=12$, $max\_iter_{ls}=15$,$\epsilon_{ls}=1e-40$),  time is expressed in seconds.}\r
+\label{tab:06}\r
+\end{center}\r
+\end{table*}\r
+\r
+\r
 \subsection{Parallel nonlinear problems}\r
 \r
 With  PETSc,  linear  solvers  are  used inside  nonlinear  solvers.   The  SNES\r
 (Scalable Nonlinear  Equations Solvers) module  in PETSc implements easy  to use\r
 methods,  like  Newton-type, quasi-Newton  or  full  approximation scheme  (FAS)\r
-multigrid to solve systems of nonlinears equations.  As the SNES is based on the\r
+multigrid to  solve systems of  nonlinears equations.  As  SNES is based  on the\r
 Krylov methods of PETSc, it is interesting to investigate if the TSIRM method is\r
-also efficient and scalable with non linear problems.\r
-\r
-\r
-\r
+also efficient  and scalable with non  linear problems. In PETSc,  some examples\r
+are provided.  An important criteria is the scalability of the initial code with\r
+classical solvers. Consequently, we have chosen  two of these examples: ex14 and\r
+ex20.  In ex14, the code solves the  Bratu (SFI - solid fuel ignition) nonlinear\r
+partial  difference equations  in 3  dimension.  In  ex20, the  code solves  a 3\r
+dimension radiative transport test problem.  For more details on these examples,\r
+interested readers are invited  to see the code in the  PETSc examples. For both\r
+these  examples,   a  weak  scaling   case  is  chosen  where   processors  have\r
+approximately a number of components equals to 100,000.\r
+\r
+In Table~\ref{tab:07}  we report the result  of our experiments for  the example\r
+ex14 with the block Jacobi preconditioner.  For TSIRM the CGLS algorithm is used\r
+to solve  the minimization step. In  this table, we  can see that the  number of\r
+iterations used by the linear solver is smaller with TSIRM compared with FGMRES.\r
+Consequently the execution times are smaller  with TSIRM. The gain between TSIRM\r
+and FGMRES  is around  6 and  7. The parameters  of TSIRM  are expressed  in the\r
+caption of the table.\r
 \r
 \begin{table*}[htbp]\r
 \begin{center}\r
 \begin{tabular}{|r|r|r|r|r|r|} \r
 \hline\r
 \r
-  nb. cores   & \multicolumn{2}{c|}{FGMRES/BJAC} & \multicolumn{2}{c|}{TSIRM CGLS/BJAC} & gain   \\ \r
+  nb. cores   & \multicolumn{2}{c|}{FGMRES/BJAC} & \multicolumn{2}{c|}{TSIRM CGLS/BJAC} & gain  \\ \r
 \cline{2-5}\r
-                    & Time         & \# Iter.  & Time   & \# Iter.  &  \\\hline \hline\r
-   1024              & 667.92      & 48,732    & 81.65  &     5,087 &  8.18 \\\r
-   2048             & 966.87       & 77,177    &  90.34 &     5,716 &  10.70\\\r
-   4096             & 1,742.31     & 124,411   &  119.21 &   6,905  & 14.61\\\r
-   8192             & 2,739.21     & 187,626   &  168.9  &  9,000   & 16.22\\\r
+                    & Time         & \# Iter.  & Time   & \# Iter. &  \\\hline \hline\r
+   1,024              & 159.52      & 11,584    &  26.34  &     1,563  &  6.06  \\\r
+   2,048             & 226.24       & 16,459    &  37.23 &     2,248   &  6.08\\\r
+   4,096             & 391.21     & 27,794   &  50.93 &   2,911  &  7.69\\\r
+   8,192             & 543.23     & 37,770   &  79.21  &  4,324  & 6.86 \\\r
 \r
 \hline\r
 \r
 \end{tabular}\r
-\caption{Comparison of FGMRES  and TSIRM for ex20 of PETSc/SNES with a Block Jacobi  preconditioner  having 100,000 components per core on Curie ($\epsilon_{tsirm}=1e-10$, $max\_iter_{kryl}=30$, $s=12$, $max\_iter_{ls}=15$, $\epsilon_{ls}=1e-40$),  time is expressed in seconds.}\r
+\caption{Comparison of FGMRES  and TSIRM for ex14 of PETSc/SNES with a Block Jacobi  preconditioner  having 100,000 components per core on Curie ($\epsilon_{tsirm}=1e-10$, $max\_iter_{kryl}=30$, $s=12$, $max\_iter_{ls}=15$, $\epsilon_{ls}=1e-40$),  time is expressed in seconds.}\r
 \label{tab:07}\r
 \end{center}\r
 \end{table*}\r
 \r
+In Table~\cite{tab:08}, the results of the experiments with the example ex20 are\r
+reported. The block  Jacobi preconditioner has also been used  and CGLS to solve\r
+the minimization step for TSIRM. For this example, we can observ that the number\r
+of  iterations  for  FMGRES  increase  drastically  when  the  number  of  cores\r
+increases. With  TSIRM, we can  see that the  number of iterations  is initially\r
+very small compared  to the FGMRES ones  and when the number  of cores increase,\r
+the number  of iterations increases slighther  with TSIRM than with  FGMRES. For\r
+this example,  the gain  between TSIRM  and FGMRES ranges  between 8  with 1,024\r
+cores to more than 16 with 8,192 cores.\r
+\r
 \begin{table*}[htbp]\r
 \begin{center}\r
 \begin{tabular}{|r|r|r|r|r|r|} \r
 \hline\r
 \r
-  nb. cores   & \multicolumn{2}{c|}{FGMRES/BJAC} & \multicolumn{2}{c|}{TSIRM CGLS/BJAC} & gain  \\ \r
+  nb. cores   & \multicolumn{2}{c|}{FGMRES/BJAC} & \multicolumn{2}{c|}{TSIRM CGLS/BJAC} & gain   \\ \r
 \cline{2-5}\r
-                    & Time         & \# Iter.  & Time   & \# Iter. &  \\\hline \hline\r
-   1024              & 159.52      & 11,584    &  26.34  &     1,563  &  6.06  \\\r
-   2048             & 226.24       & 16,459    &  37.23 &     2,248   &  6.08\\\r
-   4096             & 391.21     & 27,794   &  50.93 &   2,911  &  7.69\\\r
-   8192             & 543.23     & 37,770   &  79.21  &  4,324  & 6.86 \\\r
+                    & Time         & \# Iter.  & Time   & \# Iter.  &  \\\hline \hline\r
+   1,024              & 667.92      & 48,732    & 81.65  &     5,087 &  8.18 \\\r
+   2,048             & 966.87       & 77,177    &  90.34 &     5,716 &  10.70\\\r
+   4,096             & 1,742.31     & 124,411   &  119.21 &   6,905  & 14.61\\\r
+   8,192             & 2,739.21     & 187,626   &  168.9  &  9,000   & 16.22\\\r
 \r
 \hline\r
 \r
 \end{tabular}\r
-\caption{Comparison of FGMRES  and TSIRM for ex14 of PETSc/SNES with a Block Jacobi  preconditioner  having 100,000 components per core on Curie ($\epsilon_{tsirm}=1e-10$, $max\_iter_{kryl}=30$, $s=12$, $max\_iter_{ls}=15$, $\epsilon_{ls}=1e-40$),  time is expressed in seconds.}\r
+\caption{Comparison of FGMRES  and TSIRM for ex20 of PETSc/SNES with a Block Jacobi  preconditioner  having 100,000 components per core on Curie ($\epsilon_{tsirm}=1e-10$, $max\_iter_{kryl}=30$, $s=12$, $max\_iter_{ls}=15$, $\epsilon_{ls}=1e-40$),  time is expressed in seconds.}\r
 \label{tab:08}\r
 \end{center}\r
 \end{table*}\r
 \r
 \r
+\r
+\r
+\r
+\r
+\r
+%%NEW\r
 \subsection{Influence of parameters for TSIRM}\r
 \r
+\begin{figure}[htbp]\r
+\centering\r
+  \includegraphics[angle=-90,width=0.5\textwidth]{ksp_tsirm_cgls_iter_total}\r
+\caption{Number of total iterations using two different methods for the minimization: LSQR and CGLS.}\r
+\label{fig:cgls-iter} \r
+\end{figure}\r
+\r
+\begin{figure}[htbp]\r
+\centering\r
+  \includegraphics[angle=-90,width=0.5\textwidth]{ksp_tsirm_cgls_time}\r
+\caption{Execution time in seconds using two different methods for the minimization: LSQR and CGLS.}\r
+\label{fig:cgls-time} \r
+\end{figure}\r
+\r
+\begin{figure}[htbp]\r
+\centering\r
+  \includegraphics[angle=-90,width=0.5\textwidth]{ksp_tsirm_inner_restarts_iter_total}\r
+\caption{Number of total iterations with variation of restarts in the inner solver FGMRES.}\r
+\label{fig:inner_restarts_iter_total} \r
+\end{figure}\r
+\r
+\begin{figure}[htbp]\r
+\centering\r
+  \includegraphics[angle=-90,width=0.5\textwidth]{ksp_tsirm_inner_restarts_time}\r
+\caption{Execution time in seconds with variation of restarts in the inner solver FGMRES.}\r
+\label{fig:inner_restarts_time} \r
+\end{figure}\r
+\r
+\begin{figure}[htbp]\r
+\centering\r
+  \includegraphics[angle=-90,width=0.5\textwidth]{ksp_tsirm_max_inner_iter}\r
+\caption{Number of total iterations with variation of number of inner iterations.}\r
+\label{fig:max_inner_iter} \r
+\end{figure}\r
+\r
+\begin{figure}[htbp]\r
+\centering\r
+  \includegraphics[angle=-90,width=0.5\textwidth]{ksp_tsirm_max_inner_time}\r
+\caption{Execution time in seconds with variation of number of inner iterations.}\r
+\label{fig:max_inner_time} \r
+\end{figure}\r
+\r
+\begin{figure}[htbp]\r
+\centering\r
+  \includegraphics[angle=-90,width=0.5\textwidth]{ksp_tsirm_maxiter_ls_iter}\r
+\caption{Number of total iterations with variation of number of iterations in the minimization process.}\r
+\label{fig:maxiter_ls_iter} \r
+\end{figure}\r
+\r
+\begin{figure}[htbp]\r
+\centering\r
+  \includegraphics[angle=-90,width=0.5\textwidth]{ksp_tsirm_maxiter_ls_time}\r
+\caption{Execution time in seconds with variation of number of iterations in the minimization process.}\r
+\label{fig:maxiter_ls_time} \r
+\end{figure}\r
+\r
+\begin{figure}[htbp]\r
+\centering\r
+  \includegraphics[angle=-90,width=0.5\textwidth]{ksp_tsirm_size_ls_iter}\r
+\caption{Number of total iterations with variation of the size of the least-squares problem in the minimization process.}\r
+\label{fig:size_ls_iter} \r
+\end{figure}\r
+\r
+\begin{figure}[htbp]\r
+\centering\r
+  \includegraphics[angle=-90,width=0.5\textwidth]{ksp_tsirm_size_ls_time}\r
+\caption{Execution time in seconds with variation of the size of the least-squares problem in the minimization process.}\r
+\label{fig:size_ls_time} \r
+\end{figure}\r
+\r
+%%ENDNEW\r
+\r
 \r
 \r
 \r