Abstract

We have developed a Python package ZMCintegral for multi-dimensional Monte Carlo integration on multiple Graphics Processing Units (GPUs). The package employs a stratified sampling and heuristic tree search algorithm. We have built three versions of this package: one with Tensorflow and other two with Numba, and both support general user defined functions with a user-friendly interface. We have demonstrated that Tensorflow and Numba help inexperienced scientific researchers to parallelize their programs on multiple GPUs with little work. The precision and speed of our package is compared with that of VEGAS for two typical integrands, a 6-dimensional oscillating function and a 9-dimensional Gaussian function. The results show that the speed of ZMCintegral is comparable to that of the VEGAS with a given precision. For heavy calculations, the algorithm can be scaled on distributed clusters of GPUs. Program summaryProgram Title: ZMCintegralProgram Files doi:http://dx.doi.org/10.17632/p7wc7k6mpp.1Licensing provisions: Apache License Version 2.0Programming language: PythonExternal routines/libraries: Tensorflow; Numba; RayNature of problem: Easy to use python package for Multidimensional-multi-GPUs Monte Carlo integrationSolution method: Stratified sampling and heuristic tree search using multiple GPUs on distributed clusters

Full Text
Paper version not known

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

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.