  Computation in the past decades has been driven by deterministic computers
based on classical deterministic bits. Recently, alternative computing
paradigms and domain-based computing like quantum computing and probabilistic
computing have gained traction. While quantum computers based on q-bits utilize
quantum effects to advance computation, probabilistic computers based on
probabilistic (p-)bits are naturally suited to solve problems that require
large amount of random numbers utilized in Monte Carlo and Markov Chain Monte
Carlo algorithms. These Monte Carlo techniques are used to solve important
problems in the fields of optimization, numerical integration or sampling from
probability distributions. However, to efficiently implement Monte Carlo
algorithms the generation of random numbers is crucial. In this paper, we
present and benchmark a probabilistic coprocessor based on p-bits that are
naturally suited to solve these problems. We present multiple examples and
project that a nanomagnetic implementation of our probabilistic coprocessor can
outperform classical CPU and GPU implementations by multiple orders of
magnitude.
