X-Git-Url: https://bilbo.iut-bm.univ-fcomte.fr/and/gitweb/prng_gpu.git/blobdiff_plain/45ee2a595e584941a3ec05a013d6682d88c42732..77973c61177ccd9f68459a2095c29d48d11af26f:/prng_gpu.tex?ds=sidebyside

diff --git a/prng_gpu.tex b/prng_gpu.tex
index 3e1aa83..e177e24 100644
--- a/prng_gpu.tex
+++ b/prng_gpu.tex
@@ -1,6 +1,11 @@
 \documentclass{article}
 \usepackage[utf8]{inputenc}
 \usepackage[T1]{fontenc}
+\usepackage{fullpage}
+\usepackage{fancybox}
+\usepackage{amsmath}
+\usepackage{moreverb}
+\usepackage{commath}
 
 \title{Efficient generation of pseudo random numbers based on chaotic iterations on GPU}
 \begin{document}
@@ -22,7 +27,48 @@ PrÃ©sentation des itÃ©rations chaotiques
 
 \section{Efficient prng based on chaotic iterations}
 
-On parle du sÃ©quentiel avec des nombres 64 bits
+On parle du sÃ©quentiel avec des nombres 64 bits\\
+
+Faire le lien avec le paragraphe prÃ©cÃ©dent (je considÃ¨re que la stratÃ©gie s'appelle $S^i$\\
+
+In  order to  implement efficiently  a PRNG  based on  chaotic iterations  it is
+possible to improve  previous works [ref]. One solution  consists in considering
+that the  strategy used $S^i$  contains all the  bits for which the  negation is
+achieved out. Then instead of applying  the negation on these bits we can simply
+apply the  xor operator between  the current number  and the strategy  $S^i$. In
+order to obtain the strategy we also use a classical PRNG.
+
+\begin{figure}[htbp]
+\begin{center}
+\fbox{
+\begin{minipage}{14cm}
+unsigned int CIprng() \{\\
+  static unsigned int x = 123123123;\\
+  unsigned long t1 = xorshift();\\
+  unsigned long t2 = xor128();\\
+  unsigned long t3 = xorwow();\\
+  x = x\^\ (unsigned int)t1;\\
+  x = x\^\ (unsigned int)(t2$>>$32);\\
+  x = x\^\ (unsigned int)(t3$>>$32);\\
+  x = x\^\ (unsigned int)t2;\\
+  x = x\^\ (unsigned int)(t1$>>$32);\\
+  x = x\^\ (unsigned int)t3;\\
+  return x;\\
+\}
+\end{minipage}
+}
+\end{center}
+\caption{sequential Chaotic Iteration PRNG}
+\label{algo:seqCIprng}
+\end{figure}
+
+In Figure~\ref{algo:seqCIprng}  a sequential  version of our  chaotic iterations
+based PRNG  is presented.  This version  uses three classical  64-bits PRNG: the
+\texttt{xorshift},  the \texttt{xor128}  and the  \texttt{xorwow}.   These three
+PRNGs  are  presented in~\cite{Marsaglia2003}.  As  each  PRNG  used works  with
+64-bits and as  our PRNG works with 32-bits, the  use of \texttt{(unsigned int)}
+selects the 32 least  significant bits whereas \texttt{(unsigned int)(t3$>>$32)}
+selects the 32 bits most significants bits of the variable \texttt{t}.
 
 \section{Efficient prng based on chaotic iterations on GPU}
 
@@ -37,5 +83,6 @@ On donne des temps de gÃ©nÃ©rations de nombre sur GPU puis on rappatrie sur CPU
 \section{Lyapunov}
 
 \section{Conclusion}
-
+\bibliographystyle{plain}
+\bibliography{mabase}
 \end{document}
