m-CUBES An efficient and portable implementation of multi-dimensional integration for gpus

02/03/2022
by   Ioannis Sakiotis, et al.
0

The task of multi-dimensional numerical integration is frequently encountered in physics and other scientific fields, e.g., in modeling the effects of systematic uncertainties in physical systems and in Bayesian parameter estimation. Multi-dimensional integration is often time-prohibitive on CPUs. Efficient implementation on many-core architectures is challenging as the workload across the integration space cannot be predicted a priori. We propose m-Cubes, a novel implementation of the well-known Vegas algorithm for execution on GPUs. Vegas transforms integration variables followed by calculation of a Monte Carlo integral estimate using adaptive partitioning of the resulting space. m-Cubes improves performance on GPUs by maintaining relatively uniform workload across the processors. As a result, our optimized Cuda implementation for Nvidia GPUs outperforms parallelization approaches proposed in past literature. We further demonstrate the efficiency of m-Cubes by evaluating a six-dimensional integral from a cosmology application, achieving significant speedup and greater precision than the CUBA library's CPU implementation of VEGAS. We also evaluate m-Cubes on a standard integrand test suite. m-Cubes outperforms the serial implementations of the Cuba and GSL libraries by orders of magnitude speedup while maintaining comparable accuracy. Our approach yields a speedup of at least 10 when compared against publicly available Monte Carlo based GPU implementations. In summary, m-Cubes can solve integrals that are prohibitively expensive using standard libraries and custom implementations. A modern C++ interface header-only implementation makes m-Cubes portable, allowing its utilization in complicated pipelines with easy to define stateful integrals. Compatibility with non-Nvidia GPUs is achieved with our initial implementation of m-Cubes using the Kokkos framework.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
03/08/2023

Many-core algorithms for high-dimensional gradients on phylogenetic trees

The rapid growth in genomic pathogen data spurs the need for efficient i...
research
04/13/2021

PAGANI: A Parallel Adaptive GPU Algorithm for Numerical

We present a new adaptive parallel algorithm for the challenging problem...
research
06/14/2019

A Performance Study of the 2D Ising Model on GPUs

The simulation of the two-dimensional Ising model is used as a benchmark...
research
08/21/2022

Scrooge: A Fast and Memory-Frugal Genomic Sequence Aligner for CPUs, GPUs, and ASICs

Motivation: Pairwise sequence alignment is a very time-consuming step in...
research
02/25/2022

PLSSVM: A (multi-)GPGPU-accelerated Least Squares Support Vector Machine

Machine learning algorithms must be able to efficiently cope with massiv...
research
09/14/2020

A machine learning approach for efficient multi-dimensional integration

We propose a novel multi-dimensional integration algorithm using a machi...
research
02/28/2020

VegasFlow: accelerating Monte Carlo simulation across multiple hardware platforms

We present VegasFlow, a new software for fast evaluation of high dimensi...

Please sign up or login with your details

Forgot password? Click here to reset