X-Git-Url: https://bilbo.iut-bm.univ-fcomte.fr/and/gitweb/prng_gpu.git/blobdiff_plain/558affb9cf9a30a05a5e35a9f4413ee24d66fa5b..4d8b7e08f2ec6e1319ca2b2be29752d530e1e04c:/prng_gpu.tex?ds=inline diff --git a/prng_gpu.tex b/prng_gpu.tex index 3a677e2..ada74d4 100644 --- a/prng_gpu.tex +++ b/prng_gpu.tex @@ -173,7 +173,7 @@ A million numbers per second will be simply written as In \cite{Pang:2008:cec} a PRNG based on cellular automata is defined with no requirement to an high precision integer arithmetic or to any bitwise operations. Authors can generate about -3.2MSample/s on a GeForce 7800 GTX GPU, which is quite an old card now. +3.2MSamples/s on a GeForce 7800 GTX GPU, which is quite an old card now. However, there is neither a mention of statistical tests nor any proof of chaos or cryptography in this document. @@ -186,26 +186,31 @@ However the evaluations of the proposed PRNGs are only statistical ones. Authors of~\cite{conf/fpga/ThomasHL09} have studied the implementation of some -PRNGs on diferrent computing architectures: CPU, field-programmable gate array -(FPGA), GPU and massively parallel processor. This study is interesting because -it shows the performance of the same PRNGs on different architectures. For -example, the FPGA is globally the fastest architecture and it is also the -efficient one because it provides the fastest number of generated random numbers -per joule. Concerning the GPU, authors can generate betweend 11 and 16GSample/s -with a GTX 280 GPU. The drawback of this work is that those PRNGs only succeed -the {\it Crush} test which is easier than the {\it Big Crush} test. - -Cuda has developped a library for the generation of random numbers called -Curand~\cite{curand11}. Several PRNGs are implemented: -Xorwow~\cite{Marsaglia2003} and some variants of Sobol. Some tests report that -the fastest version provides 15GSample/s on the new Fermi C2050 card. Their -PRNGs fail to succeed the whole tests of TestU01 on only one test. +PRNGs on different computing architectures: CPU, field-programmable gate array +(FPGA), massively parallel processors, and GPU. This study is of interest, because +the performance of the same PRNGs on different architectures are compared. +FPGA appears as the fastest and the most +efficient architecture, providing the fastest number of generated pseudorandom numbers +per joule. +However, we can notice that authors can ``only'' generate between 11 and 16GSamples/s +with a GTX 280 GPU, which should be compared with +the results presented in this document. +We can remark too that the PRNGs proposed in~\cite{conf/fpga/ThomasHL09} are only +able to pass the {\it Crush} battery, which is very easy compared to the {\it Big Crush} one. + +Lastly, Cuda has developed a library for the generation of pseudorandom numbers called +Curand~\cite{curand11}. Several PRNGs are implemented, among +other things +Xorwow~\cite{Marsaglia2003} and some variants of Sobol. The tests reported show that +their fastest version provides 15GSamples/s on the new Fermi C2050 card. +But their PRNGs cannot pass the whole TestU01 battery (only one test is failed). \newline \newline -To the best of our knowledge no GPU implementation have been proven to have chaotic properties. +We can finally remark that, to the best of our knowledge, no GPU implementation have been proven to be chaotic, and the cryptographically secure property is surprisingly never regarded. \section{Basic Recalls} \label{section:BASIC RECALLS} + This section is devoted to basic definitions and terminologies in the fields of topological chaos and chaotic iterations. \subsection{Devaney's Chaotic Dynamical Systems}