  Digital computers store information in the form of bits that can take on one
of two values 0 and 1, while quantum computers are based on qubits that are
described by a complex wavefunction, whose squared magnitude gives the
probability of measuring either 0 or 1. Here, we make the case for a
probabilistic computer based on p-bits, which take on values 0 and 1 with
controlled probabilities and can be implemented with specialized compact
energy-efficient hardware. We propose a generic architecture for such
p-computers and emulate systems with thousands of p-bits to show that they can
significantly accelerate randomized algorithms used in a wide variety of
applications including but not limited to Bayesian networks, optimization,
Ising models, and quantum Monte Carlo.
