Abstract

The implementation of Monte Carlo simulation on the CUDA Fortran requires a fast random number generation with good statistical properties on GPU. In this study, a GPU-based parallel pseudo random number generator (GPPRNG) have been proposed to use in high performance computing systems. According to the type of GPU memory usage, GPU scheme is divided into two work modes including GLOBAL_MODE and SHARED_MODE. To generate parallel random numbers based on the independent sequence method, the combination of middle-square method and chaotic map along with the Xorshift PRNG have been employed. Implementation of our developed PPRNG on a single GPU showed a speedup of 150x and 470x (with respect to the speed of PRNG on a single CPU core) for GLOBAL_MODE and SHARED_MODE, respectively. To evaluate the accuracy of our developed GPPRNG, its performance was compared to that of some other commercially available PPRNGs such as MATLAB, FORTRAN and Miller-Park algorithm through employing the specific standard tests. The results of this comparison showed that the developed GPPRNG in this study can be used as a fast and accurate tool for computational science applications.

Highlights

  • Monte Carlo simulation is a computerized mathematical technique that allows people to account for risk in quantitative analysis and decision making

  • We offered a new technique for implementation of PPRNGs on Graphics Processors Units (GPUs) kernel for

  • A parallel random number generator was developed based on independent sequence method and implemented on GPU scheme

Read more

Summary

Introduction

Monte Carlo simulation is a computerized mathematical technique that allows people to account for risk in quantitative analysis and decision making. Efficient massively parallel algorithms is used for scientific computing at current trends in parallel processors. Monte Carlo simulation methods always require massive random numbers and the random numbers sequence shall enough be random. What this means depends on the application, but typically they should pass a series of statistical tests. Many algorithms are presented as Pseudo-random number generator (PRNG).[6,7,8] A PRNG can be started from an arbitrary initial seed. Because the PRNG always produces the same sequence number, using a specific formula such as a linear congruential generator (LCG), the random number depends on current produced one

Objectives
Methods
Results
Conclusion
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call