GPU-accelerated simulated annealing based on p-bits with real-world device-variability modeling
Naoya Onizawa, Takahiro Hanyu
TL;DR
The paper tackles the impact of real-world device variability on p-bit–based simulated annealing (pSA) and demonstrates the need for a scalable, hardware-relevant simulator. It introduces a GPU-accelerated, open-source pSA framework that maps combinatorial problems to Ising energy $H(\sigma) = - sum_i h_i \sigma_i - sum_{i<j} J_{ij} \sigma_i \sigma_j$ with input $I_i(t) = I_0( h_i + sum_j J_{ij} \sigma_j(t) )$ and p-bits updated as $\sigma_i(t) = sgn( r_i(t) + tanh(I_i(t)) )$. It also models device variability via three parameters—timing $\nu_i$, intensity $\lambda_i$, and offset $\delta_i$—and uses CUDA to achieve about two orders of magnitude speedup over CPU on MAX-CUT (G-set) problems with 800–20,000 nodes, plus two pSA variations (TA pSA and SpSA). Key findings show that variability can both degrade and enhance performance, with TA pSA and SpSA offering robust, near-optimal solutions under realistic MTJ variability, providing a valuable toolkit for probabilistic computing research and hardware-oriented optimization.
Abstract
Probabilistic computing using probabilistic bits (p-bits) presents an efficient alternative to traditional CMOS logic for complex problem-solving, including simulated annealing and machine learning. Realizing p-bits with emerging devices such as magnetic tunnel junctions (MTJs) introduces device variability, which was expected to negatively impact computational performance. However, this study reveals an unexpected finding: device variability can not only degrade but also enhance algorithm performance, particularly by leveraging timing variability. This paper introduces a GPU-accelerated, open-source simulated annealing framework based on p-bits that models key device variability factors -- timing, intensity, and offset -- to reflect real-world device behavior. Through CUDA-based simulations, our approach achieves a two-order magnitude speedup over CPU implementations on the MAX-CUT benchmark with problem sizes ranging from 800 to 20,000 nodes. By providing a scalable and accessible tool, this framework aims to advance research in probabilistic computing, enabling optimization applications in diverse fields.
