]> AND Private Git Repository - kahina_paper1.git/commitdiff
Logo AND Algorithmique Numérique Distribuée

Private GIT Repository
correct
authorcouturie <couturie@extinction>
Tue, 3 Nov 2015 17:18:40 +0000 (12:18 -0500)
committercouturie <couturie@extinction>
Tue, 3 Nov 2015 17:18:40 +0000 (12:18 -0500)
paper.tex

index 52fe61ca723d798a7be4bbf8d8aa8251c21e82cd..0d2bbd66ebdcd1789ca243c573d5e955b9d4f39c 100644 (file)
--- a/paper.tex
+++ b/paper.tex
@@ -597,7 +597,11 @@ $kernel\_testConverge(\Delta z_{max},d\_Z^{k},d\_Z^{k-1})$\;
 
 After the initialisation step, all data of the root finding problem to be solved must be copied from the CPU memory to the GPU global memory, because the GPUs only access data already present in their memories. Next, all the data-parallel arithmetic operations inside the main loop \verb=(do ... while(...))= are executed as kernels by the GPU. The first kernel named \textit{save} in line 6 of Algorithm~\ref{alg2-cuda} consists in saving the vector of polynomial's root found at the previous time-step in GPU memory, in order to check the convergence of the roots after each iteration (line 8, Algorithm~\ref{alg2-cuda}).
 
 
 After the initialisation step, all data of the root finding problem to be solved must be copied from the CPU memory to the GPU global memory, because the GPUs only access data already present in their memories. Next, all the data-parallel arithmetic operations inside the main loop \verb=(do ... while(...))= are executed as kernels by the GPU. The first kernel named \textit{save} in line 6 of Algorithm~\ref{alg2-cuda} consists in saving the vector of polynomial's root found at the previous time-step in GPU memory, in order to check the convergence of the roots after each iteration (line 8, Algorithm~\ref{alg2-cuda}).
 
-The second kernel executes the iterative function $H$ and updates $z^{k}$, according to Algorithm~\ref{alg3-update}. We notice that the update kernel is called in two forms, separated with the value of \emph{R} which determines the radius beyond which we apply the logarithm computation of the power of a complex. 
+The second kernel executes the iterative function $H$ and updates
+$z^{k}$, according to Algorithm~\ref{alg3-update}. We notice that the
+update kernel is called in two forms, separated with the value of
+\emph{R} which determines the radius beyond which we apply the
+exponential logarithm algorithm. 
 
 \begin{algorithm}[H]
 \label{alg3-update}
 
 \begin{algorithm}[H]
 \label{alg3-update}
@@ -607,11 +611,15 @@ The second kernel executes the iterative function $H$ and updates $z^{k}$, accor
 \eIf{$(\left|Z^{(k)}\right|<= R)$}{
 $kernel\_update(d\_z^{k})$\;}
 {
 \eIf{$(\left|Z^{(k)}\right|<= R)$}{
 $kernel\_update(d\_z^{k})$\;}
 {
-$kernel\_update\_Log(d\_z^{k})$\;
+$kernel\_update\_ExpoLog(d\_z^{k})$\;
 }
 \end{algorithm}
 
 }
 \end{algorithm}
 
-The first form executes formula \ref{eq:SimplePolynome} if the modulus of the current complex is less than the a certain value called the radius i.e. ($ |z^{k}_{i}|<= R$), else the kernel executes formulas (Eq.~\ref{deflncomplex},Eq.~\ref{defexpcomplex}). The radius $R$ is evaluated as :
+The first form executes formula \ref{eq:SimplePolynome} if the modulus
+of the current complex is less than the a certain value called the
+radius i.e. ($ |z^{k}_{i}|<= R$), else the kernel executes the EA.EL
+function Eq.~\ref{Log_H2}
+( with Eq.~\ref{deflncomplex}, Eq.~\ref{defexpcomplex}). The radius $R$ is evaluated as :
 
 $$R = \exp( \log(DBL\_MAX) / (2*n) )$$ where $DBL\_MAX$ stands for the maximum representable double value.
 
 
 $$R = \exp( \log(DBL\_MAX) / (2*n) )$$ where $DBL\_MAX$ stands for the maximum representable double value.