ZMCintegral: A package for multi-dimensional Monte Carlo integration on multi-GPUs

Published: 10 October 2019| Version 1 | DOI: 10.17632/p7wc7k6mpp.1
Contributors:
,
,
,

Description

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.

Files

Categories

Computational Physics, Application of Monte Carlo Method

Licence