A Package for Multi-Dimensional Monte Carlo Integration on Multi-GPUs
Department of Modern Physics, University of Science and Technology of China
arXiv:1902.07916 [physics.comp-ph], (21 Feb 2019)
@article{wupackage,
title={A Package for Multi-Dimensional Monte Carlo Integration on Multi-GPUs},
author={Wu, Hong-zhong and Zhang, Junjie and Pang, Long-gang and Wang, Qun},
year={2019},
month={feb},
archivePrefix={"arXiv"},
primaryClass={physics.comp-ph}
}
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 two versions of this package: one with Tensorflow and another with Numba, 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 performance of ZMCintegral in terms of precision and speed 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 much faster than VEGAS at a given precision. The algorithm is scalable since the speed of integration is almost linearly proportional to the number of being used GPUs.
February 24, 2019 by hgpu