\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}
\maketitle

\begin{abstract}
This is the abstract
\end{abstract}

\section{Introduction}

Interet des itérations chaotiques pour générer des nombre alea\\
Interet de générer des nombres alea sur GPU
...

\section{Chaotic iterations}

Présentation des itérations chaotiques

\section{Efficient prng based on chaotic iterations}

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$.

\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)t;\\
  x = x\^\ (unsigned int)(t2$>>$32);\\
  x = x\^\ (unsigned int)(t3$>>$32);\\
  x = x\^\ (unsigned int)t2;\\
  x = x\^\ (unsigned int)(t$>>$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  xorshift, the
xor128 and the xorwow. These three PRNGs are presented in~\cite{Marsaglia2003}.

\section{Efficient prng based on chaotic iterations on GPU}

On parle du passage du sequentiel au GPU

\section{Experiments}

On passe le BigCrush\\
On donne des temps de générations sur GPU/CPU\\
On donne des temps de générations de nombre sur GPU puis on rappatrie sur CPU / CPU ? bof bof, on verra

\section{Lyapunov}

\section{Conclusion}
\bibliographystyle{plain}
\bibliography{mabase}
\end{document}
