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

Private GIT Repository
D'autre modif
[kahina_paper2.git] / paper.tex
index b453915c120e114bbe25f4ad16206f496512d2fc..a18d53b1142dc16567f5ae8d50a8e7782255f6c4 100644 (file)
--- a/paper.tex
+++ b/paper.tex
@@ -275,7 +275,7 @@ where \verb=DBL_MAX= stands for the maximum representable
 
 
 \subsection{The Ehrlich-Aberth parallel implementation on CUDA}
 
 
 \subsection{The Ehrlich-Aberth parallel implementation on CUDA}
-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.
 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 +291,7 @@ 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
 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
  %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
@@ -348,6 +348,7 @@ Ehrlich-Aberth method with OpenMP and MPI is presented.
 
 \section{The Ehrlich-Aberth algorithm on multiple GPUs}
 \label{sec4}
 
 \section{The Ehrlich-Aberth algorithm on multiple GPUs}
 \label{sec4}
+\KG{we remind that to manage the CUDA contexts of different GPUs, We investigate two parallel paradigms: OpenMP and MPI. In this section we present the both \textit{OpenMP-CUDA} approach and the \textit{MPI-CUDA} approach} used to implement the Ehrlich-Aberth algorithm on multiple GPUs.
 \subsection{An OpenMP-CUDA approach}
 Our OpenMP-CUDA implementation of EA algorithm is based on the hybrid
 OpenMP and CUDA programming model. This algorithm is presented in
 \subsection{An OpenMP-CUDA approach}
 Our OpenMP-CUDA implementation of EA algorithm is based on the hybrid
 OpenMP and CUDA programming model. This algorithm is presented in
@@ -470,9 +471,10 @@ We study two categories of polynomials: sparse polynomials and full polynomials.
      {\Large \forall \alpha_{i} \in \mathbb{C}, i\in \mathbb{N};  p(x)=\sum^{n}_{i=0} \alpha_{i}.x^{i}} 
 \end{equation}
 
      {\Large \forall \alpha_{i} \in \mathbb{C}, i\in \mathbb{N};  p(x)=\sum^{n}_{i=0} \alpha_{i}.x^{i}} 
 \end{equation}
 
-For our tests, a CPU Intel(R) Xeon(R) CPU
-X5650@2.40GHz and 4 GPUs cards Tesla Kepler K40,are used with CUDA version 7.5. In order to
-evaluate both the GPU and Multi-GPU approaches, we performed a set of
+\KG{For our tests, a CPU Intel(R) Xeon(R) CPU
+X5650@2.40GHz and 4 GPUs cards Tesla Kepler K40,are used with CUDA version 7.5}.
+ In order to evaluate both the GPU and Multi-GPU approaches, we performed a set of
 experiments on a single GPU and multiple GPUs using OpenMP or MPI with
 the EA algorithm, for both sparse and full polynomials of different
 degrees.  All experimental results obtained are performed with double
 experiments on a single GPU and multiple GPUs using OpenMP or MPI with
 the EA algorithm, for both sparse and full polynomials of different
 degrees.  All experimental results obtained are performed with double