X-Git-Url: https://bilbo.iut-bm.univ-fcomte.fr/and/gitweb/book_gpu.git/blobdiff_plain/1ac5b5a535d9154c4f080e94f2f9a49ab6e299b7..55ce7168c6e69a2462d76c95dc9a5298ceedb04f:/BookGPU/Chapters/chapter18/ch18.tex diff --git a/BookGPU/Chapters/chapter18/ch18.tex b/BookGPU/Chapters/chapter18/ch18.tex index d161c76..5f0df4b 100755 --- a/BookGPU/Chapters/chapter18/ch18.tex +++ b/BookGPU/Chapters/chapter18/ch18.tex @@ -13,14 +13,14 @@ generated by either a deterministic and reproducible algorithm called a pseudorandom number generator (PRNG)\index{PRNG}, or by a physical nondeterministic process having all the characteristics of a random noise, called a truly random number generator (TRNG). In this chapter, we focus on -reproducible generators, useful for instance in MonteCarlo-based +reproducible generators, useful for instance in Monte Carlo-based simulators. These domains need PRNGs that are statistically irreproachable. In some fields such as in numerical simulations, speed is a strong requirement that is usually attained by using parallel architectures. In that case, a recurrent problem is that a deflation of the statistical qualities is often reported, when the parallelization of a good PRNG is realized. This -is why adhoc PRNGs for each possible architecture must be found to +is why ad hoc PRNGs for each possible architecture must be found to achieve both speed and randomness. On the other hand, speed is not the main requirement in cryptography: the most important point is to define \emph{secure} generators able to withstand malicious @@ -81,7 +81,7 @@ naive and improved efficient generators for CPU and for GPU. These generators are finally experimented in Section~\ref{sec:experiments}. -\section{Basic remindees} +\section{Basic reminders} \label{section:BASIC RECALLS} This section is devoted to basic definitions and terminologies in the fields of @@ -93,7 +93,7 @@ with basic notions on topology (see for instance~\cite{Devaney}). Chaos theory studies the behavior of dynamical systems that are perfectly predictable, yet appear to be wildly amorphous and meaningless. -Chaotic systems\index{chaotic systems} are highly sensitive to initial conditions, +Chaotic systems\index{chaotic!systems} are highly sensitive to initial conditions, which is popularly referred to as the butterfly effect. In other words, small differences in initial conditions (such as those due to rounding errors in numerical computation) yield widely diverging outcomes, in general rendering long-term prediction impossible \cite{kellert1994wake}. This happens even though these systems are deterministic, meaning that their future behavior is fully determined by their initial conditions, with no random elements involved \cite{kellert1994wake}. That is, the deterministic nature of these systems does not make them predictable \cite{kellert1994wake,Werndl01032009}. This behavior is known as deterministic chaos, or simply chaos. It has been well-studied in mathematics and @@ -149,7 +149,7 @@ When $f$ is chaotic, then the system $(\mathcal{X}, f)$ is chaotic and quoting D -\subsection{Chaotic iterations}\index{chaotic iterations} +\subsection{Chaotic iterations}\index{chaotic!iterations} \label{subsection:Chaotic iterations} Let us now introduce an example of a dynamical systems family that has @@ -252,7 +252,7 @@ satisfies the Devaney's definition of chaos. In Listing~\ref{algo:seqCIPRNG} a sequential version of the proposed PRNG based on chaotic iterations is presented, which extends the generator family -formerly presented in~\cite{bgw09:ip,guyeux10}. The xor operator is represented by +formerly presented in~\cite{bgw09:ip,guyeux10}. The \texttt{xor} operator is represented by \textasciicircum. This function uses three classical 64-bit PRNGs, namely the \texttt{xorshift}, the \texttt{xor128}, and the \texttt{xorwow}~\cite{Marsaglia2003}. In the following, we call them ``xor-like @@ -391,7 +391,7 @@ array\_comb1, array\_comb2: Arrays containing combinations of size combination\_ store internal variables in InternalVarXorLikeArray[threadIdx]\; } \end{small} -\caption{Main kernel for the chaotic iterations based PRNG GPU efficient +\caption{main kernel for the chaotic iterations based PRNG GPU efficient version\label{IR}} \label{algo:gpu_kernel2} \end{algorithm}