  Extending Moore's law by augmenting complementary-metal-oxide semiconductor
(CMOS) transistors with emerging nanotechnologies (X) has become increasingly
important. One important class of problems involve sampling-based Monte Carlo
algorithms used in probabilistic machine learning, optimization, and quantum
simulation. Here, we combine stochastic magnetic tunnel junction (sMTJ)-based
probabilistic bits (p-bits) with Field Programmable Gate Arrays (FPGA) to
create an energy-efficient CMOS + X (X = sMTJ) prototype. This setup shows how
asynchronously driven CMOS circuits controlled by sMTJs can perform
probabilistic inference and learning by leveraging the algorithmic
update-order-invariance of Gibbs sampling. We show how the stochasticity of
sMTJs can augment low-quality random number generators (RNG). Detailed
transistor-level comparisons reveal that sMTJ-based p-bits can replace up to
10,000 CMOS transistors while dissipating two orders of magnitude less energy.
Integrated versions of our approach can advance probabilistic computing
involving deep Boltzmann machines and other energy-based learning algorithms
with extremely high throughput and energy efficiency.
