X-Git-Url: https://bilbo.iut-bm.univ-fcomte.fr/and/gitweb/kahina_paper2.git/blobdiff_plain/ab2ce9f25d4bdaf75519e1bb3ed8cac798f3e436..refs/heads/master:/paper.tex?ds=inline diff --git a/paper.tex b/paper.tex index a18d53b..e90eac4 100644 --- a/paper.tex +++ b/paper.tex @@ -275,7 +275,8 @@ where \verb=DBL_MAX= stands for the maximum representable \subsection{The Ehrlich-Aberth parallel implementation on CUDA} -\KG{The algorithm ~\ref{alg1-cuda} shows sketch of the Ehrlich-Aberth method using CUDA. +%\KG{ + The algorithm ~\ref{alg1-cuda} shows sketch of the Ehrlich-Aberth method using CUDA. The first steps consist in the initialization of the input data like, the polynomial P,derivative of P and the vector solution Z. Then, all data of the root finding problem must be copied from the CPU memory to the GPU global memory,because the GPUs only work on the data filled in their memories. @@ -291,7 +292,10 @@ long since it performs all the operations with complex numbers with the normal mode of the EA method as in Eq.~\ref{Eq:EA1} but also with the logarithm-exponential one as in Eq.(~\ref{Log_H1},~\ref{Log_H2}). The last kernel checks the convergence of the roots after each update of $Z^{k}$, according to formula Eq.~\ref{eq:Aberth-Conv-Cond} line (7). We used the functions of the CUBLAS Library (CUDA Basic Linear Algebra Subroutines) to implement this kernel. The algorithm terminates its computations when all the roots have -converged.} +converged. +%} + + %The code is organized as kernels which are parts of codes that are run %on GPU devices. Algorithm~\ref{alg1-cuda} describes the CUDA %implementation of the Ehrlich-Aberth on a GPU. This algorithms starts @@ -326,11 +330,11 @@ Copy $P$, $P'$ and $Z$ from CPU to GPU\; } Copy $Z$ from GPU to CPU\; \end{algorithm} -\\ +\ \\ This figure shows the second kernel code \begin{figure}[htbp] \centering -\includegraphics[angle=+0,width=0.4\textwidth]{code1} +\includegraphics[angle=+0,width=0.5\textwidth]{code} \caption{The Kernel Update code} \label{fig:00} \end{figure}