X-Git-Url: https://bilbo.iut-bm.univ-fcomte.fr/and/gitweb/kahina_paper1.git/blobdiff_plain/6c18d76246cbf2749bdea5aa9b6f21090f3394f9..81d003bcad3c84329faf00f78370647031ff76f5:/paper.tex diff --git a/paper.tex b/paper.tex index 91bdab7..e06aa39 100644 --- a/paper.tex +++ b/paper.tex @@ -642,7 +642,7 @@ We report the execution times of the Ehrlisch-Aberth method implemented on one c \subsubsection{Influence of the number of threads on the execution times of different polynomials (sparse and full)} -It is also interesting to see the influence of the number of threads per block on the execution time. For that, we notice that the maximum number of threads per block for the Nvidia Tesla K40c GPU is 1024, so we varied the number of threads per block from 8 to 1024.we took into account the execution time for both sparse and full polynomials of size 50000 and 500000 degrees. +It is also interesting to see the influence of the number of threads per block on the execution time. For that, we notice that the maximum number of threads per block for the Nvidia Tesla K40c GPU is 1024, so we varied the number of threads per block from 8 to 1024. We took into account the execution time for both sparse and full polynomials of size 50000 and 500000 degrees. \begin{figure}[H] \centering @@ -651,16 +651,26 @@ It is also interesting to see the influence of the number of threads per block o \label{fig:01} \end{figure} -The figure 2 show that, the best execution time for both sparse and full polynomial are given while the threads number varies between 64 and 256 threads per bloc. We notice that with small polynomials the number of threads per block is 64, Whereas, the large polynomials is 256. However,In the following experiments we specify that the number of thread by block is 256. +The figure 2 show that, the best execution time for both sparse and full polynomial are given while the threads number varies between 64 and 256 threads per bloc. We notice that with small polynomials the number of threads per block is 64, Whereas, the large polynomials the number of threads per block is 256. However,In the following experiments we specify that the number of thread by block is 256. \subsubsection{The impact of exp-log solution to compute very high degrees of polynomial} +In this experiment we report the performance of log.exp solution describe in ~\ref{sec2} to compute very high degrees polynomials. \begin{figure}[H] \centering \includegraphics[width=0.8\textwidth]{figures/log_exp} \caption{The impact of exp-log solution to compute very high degrees of polynomial.} \label{fig:01} \end{figure} + +The figure 3, show a comparison between the execution time of the Ehrlisch-Aberth algorithm applying log-exp solution and the execution time of the Ehrlisch-Aberth algorithm without applying log-exp solution, with full polynomials degrees. We can see that the execution time for the both algorithms are the same while the polynomials degrees are less than 4500.After,we show clearly that the Ehrlisch-Aberth algorithm without applying log.exp stop to converge consequently,can not solving polynomial exceed 4500, in counterpart, applying log.exp solution the Ehrlisch-Aberth algorithm can solving very high and large full polynomial exceed 500,000 degrees. + +in fact, when the modulus of the roots are up than R given in (~\ref{eq:radiusR}),this exceed the the limited number in the mantissa of floating points representations who justify the divergence of the Ehrlisch-Aberth algorithm without log.exp. However, applying log.exp solution given in equation~\ref{alg3-update} took into account the limit of floating using the iterative function given in~\ref{eq:Aberth-H-GS}. + + + +%we report the performances of the exp.log for the Ehrlisch-Aberth algorithm for solving very high degree of polynomial. + \subsubsection{A comparative study between Aberth and Durand-kerner algorithm}