1 \documentclass{article}
2 \usepackage[utf8]{inputenc}
3 \usepackage[T1]{fontenc}
10 \title{Efficient generation of pseudo random numbers based on chaotic iterations on GPU}
18 \section{Introduction}
20 Interet des itérations chaotiques pour générer des nombre alea\\
21 Interet de générer des nombres alea sur GPU
24 \section{Chaotic iterations}
26 Présentation des itérations chaotiques
28 \section{Efficient prng based on chaotic iterations}
30 On parle du séquentiel avec des nombres 64 bits\\
32 Faire le lien avec le paragraphe précédent (je considère que la stratégie s'appelle $S^i$\\
34 In order to implement efficiently a PRNG based on chaotic iterations it is
35 possible to improve previous works [ref]. One solution consists in considering
36 that the strategy used $S^i$ contains all the bits for which the negation is
37 achieved out. Then instead of applying the negation on these bits we can simply
38 apply the xor operator between the current number and the strategy $S^i$. In
39 order to obtain the strategy we also use a classical PRNG.
44 \begin{minipage}{14cm}
45 unsigned int CIprng() \{\\
46 static unsigned int x = 123123123;\\
47 unsigned long t1 = xorshift();\\
48 unsigned long t2 = xor128();\\
49 unsigned long t3 = xorwow();\\
50 x = x\^\ (unsigned int)t1;\\
51 x = x\^\ (unsigned int)(t2$>>$32);\\
52 x = x\^\ (unsigned int)(t3$>>$32);\\
53 x = x\^\ (unsigned int)t2;\\
54 x = x\^\ (unsigned int)(t1$>>$32);\\
55 x = x\^\ (unsigned int)t3;\\
61 \caption{sequential Chaotic Iteration PRNG}
62 \label{algo:seqCIprng}
65 In Figure~\ref{algo:seqCIprng} a sequential version of our chaotic iterations
66 based PRNG is presented. This version uses three classical 64-bits PRNG: the
67 \texttt{xorshift}, the \texttt{xor128} and the \texttt{xorwow}. These three
68 PRNGs are presented in~\cite{Marsaglia2003}. As each PRNG used works with
69 64-bits and as our PRNG works with 32-bits, the use of \texttt{(unsigned int)}
70 selects the 32 least significant bits whereas \texttt{(unsigned int)(t3$>>$32)}
71 selects the 32 bits most significants bits of the variable \texttt{t}.
73 \section{Efficient prng based on chaotic iterations on GPU}
75 On parle du passage du sequentiel au GPU
79 On passe le BigCrush\\
80 On donne des temps de générations sur GPU/CPU\\
81 On donne des temps de générations de nombre sur GPU puis on rappatrie sur CPU / CPU ? bof bof, on verra
86 \bibliographystyle{plain}