# Polynome with 256 threads per block en GPU
# First data block (index 0)
-#Polynomial's degrees times_CPU nb iter times_GPU nb iter Speed up
-100000 621.59 11 12.45 16 49.20
-150000 1405.87 11 28.67 17 49.03
+#Polynomial's degrees times_CPU(4c) nb iter times_GPU nb iter Speed up time_OpenMP(1c) Nb_ietr
+100000 621.59 11 12.45 16 49.20 2360.15 11
+150000 1405.87 11 28.67 17 49.03 5805.67 12
250000 5671.29 16 93.76 20 60.48
300000 5635 11 138.94 21 40.55
350000 8366.34 12 159.654 18 52.40
%% or include affiliations in footnotes:
\author[mymainaddress]{Ghidouche Kahina\corref{mycorrespondingauthor}}
-%%\ead[url]{kahina.ghidouche@gmail.com}
+%%\ead[url]{kahina.ghidouche@univ-bejaia.dz}
\cortext[mycorrespondingauthor]{Corresponding author}
-\ead{kahina.ghidouche@gmail.com}
+\ead{kahina.ghidouche@univ-bejaia.dz}
\author[mysecondaryaddress]{Couturier Raphael\corref{mycorrespondingauthor}}
%%\cortext[mycorrespondingauthor]{Corresponding author}
%%\cortext[mycorrespondingauthor]{Corresponding author}
\ead{ar.sider@univ-bejaia.dz}
-\address[mymainaddress]{Department of informatics,University of Bejaia,Algeria}
-\address[mysecondaryaddress]{FEMTO-ST Institute, University of Franche-Compté }
+\address[mymainaddress]{Laboratoire LIMED,Faculté des sciences exactes,Université de Bejaia,06000,Algeria}
+\address[mysecondaryaddress]{FEMTO-ST Institute,Université de Franche-Compté }
\begin{abstract}
Polynomials are mathematical algebraic structures that play a great role in science and engineering. But the process of solving them for high and large degrees is computationally demanding and still not solved. In this paper, we present the results of a parallel implementation of the Ehrlich-Aberth algorithm for the problem root finding for
\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.
+To optimize the performances of an algorithm on a GPU, it is necessary to maximize the use of cores GPU (maximize the number of threads executed in parallel) and to optimize the use of the various memoirs GPU. In fact, it is interesting to see the influence of the number of threads per block on the execution time of Ehrlich-Aberth algorithm.
+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
\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 the number of threads per block 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 when the threads number varies between 64 and 256 threads per bloc. We notice that with small polynomials the best number of threads per block is 64, Whereas, the large polynomials the best 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}
The figure 3, show a comparison between the execution time of the Ehrlich-Aberth algorithm applying log-exp solution and the execution time of the Ehrlich-Aberth algorithm without applying log-exp solution, with full and sparse polynomials degrees. We can see that the execution time for the both algorithms are the same while the full polynomials degrees are less than 4000 and full polynomials are less than 150,000. After,we show clearly that the classical version of Ehrlich-Aberth algorithm (without applying log.exp) stop to converge and can not solving any polynomial sparse or full. In counterpart, the new version of Ehrlich-Aberth algorithm (applying log.exp solution) can solve very high and large full polynomial exceed 100,000 degrees.
-in fact, when the modulus of the roots are up than \textit{R} given in ~\ref{R},this exceed the limited number in the mantissa of floating points representations and can not compute the iterative function given in ~\ref{eq:Aberth-H-GS} to obtain the root solution, who justify the divergence of the classical Ehrlich-Aberth algorithm. However, applying log.exp solution given in ~\ref{sec2} took into account the limit of floating using the iterative function in(Eq.~\ref{Log_H1},Eq.~\ref{Log_H2}and allows to solve a very large polynomials degrees .
+in fact, when the modulus of the roots are up than \textit{R} given in ~\ref{R},this exceed the limited number in the mantissa of floating points representations and can not compute the iterative function given in ~\ref{eq:Aberth-H-GS} to obtain the root solution, who justify the divergence of the classical Ehrlich-Aberth algorithm. However, applying log.exp solution given in ~\ref{sec2} took into account the limit of floating using the iterative function in(Eq.~\ref{Log_H1},Eq.~\ref{Log_H2} and allows to solve a very large polynomials degrees .
%\begin{figure}[H]
\bibliography{mybibfile}
+
+\section{Conclusion and perspective}
+
\end{document}