  The transistor celebrated its 75${}^\text{th}$ birthday in 2022. The
continued scaling of the transistor defined by Moore's Law continues, albeit at
a slower pace. Meanwhile, computing demands and energy consumption required by
modern artificial intelligence (AI) algorithms have skyrocketed. As an
alternative to scaling transistors for general-purpose computing, the
integration of transistors with unconventional technologies has emerged as a
promising path for domain-specific computing. In this article, we provide a
full-stack review of probabilistic computing with p-bits as a representative
example of the energy-efficient and domain-specific computing movement. We
argue that p-bits could be used to build energy-efficient probabilistic
systems, tailored for probabilistic algorithms and applications. From hardware,
architecture, and algorithmic perspectives, we outline the main applications of
probabilistic computers ranging from probabilistic machine learning and AI to
combinatorial optimization and quantum simulation. Combining emerging
nanodevices with the existing CMOS ecosystem will lead to probabilistic
computers with orders of magnitude improvements in energy efficiency and
probabilistic sampling, potentially unlocking previously unexplored regimes for
powerful probabilistic algorithms.
