Electron-Tunnelling-Noise Programmable Random Variate Accelerator for Monte Carlo Sampling
James T. Meech, Vasileios Tsoutsouras, Phillip Stanley-Marbell
TL;DR
This work presents a domain-specific accelerator for Monte Carlo sampling that leverages electron-tunneling noise sampled via an XADC and a LiteX-generated FemtoRV RISC-V soft processor on an FPGA to speed random variate generation. It introduces a Gaussian-mixture kernel-density framework and a Gaussian-to-Gaussian transform to produce arbitrary univariate distributions, implemented through a hardware-software co-design with a programmable variate accelerator. Across twelve benchmarks, the solution achieves an average speedup of $8.70\times$ and a median of $8.69\times$ over GSL RNG, with Wasserstein-distance metrics increasing by $1.48\times$ (average) and $1.41\times$ (median), driven by the dominant sampling cost. Temperature sensitivity of the noise source is characterized and mitigated, while the total system power remains around $1.983$ W, validating practical viability for FPGA-based Monte Carlo workloads. The approach demonstrates flexible, high-throughput sampling suitable for real-time uncertainty quantification on low-power FPGA platforms with broad distribution support via kernel-density representations.
Abstract
This article presents an electron tunneling noise programmable random variate accelerator for accelerating the sampling stage of Monte Carlo simulations. We used the LiteX framework to generate a FemtoRV imfc RISC-V instruction set soft processor and deploy it on a Digilent Arty-100T FPGA development board. The RISC-V soft processor augmented with our programmable random variate accelerator achieves an average speedup of 8.70 times and a median speedup of 8.68 times for a suite of twelve different benchmark applications when compared to GNU Scientific Library software random number generation. These speedups are achievable because the benchmarks spend an average of 90.0 % of their execution time generating random samples. The results of the Monte Carlo benchmark programs run over the programmable random variate accelerator have an average Wasserstein distance of 1.48 times and a median Wasserstein distance of 1.41 times that of the results produced by the GNU Scientific Library random number generators. The soft processor samples the electron tunneling noise source using the hardened XADC block in the FPGA. The flexibility of the LiteX framework allows for the deployment of any LiteX-supported soft processor with an electron tunneling noise programmable random variate accelerator on any LiteX-supported development board that contains an FPGA with an XADC.
