  Approximate computing is a research area where we investigate a wide spectrum
of techniques to trade off computation accuracy for better performance or
energy consumption. In this work, we provide a general introduction to
approximate computing. Also, we propose a taxonomy to make it easier to discuss
the merits of different approximation techniques. Our taxonomy emphasizes the
expected cost of tackling approximate computing across the entire system stack.
We conclude by discussing the unique opportunities as well as challenges of
nondeterministic approximate computing.
