Number Systems
The performance of any numerical computation is a function of its complexity and the selected arithmetic system(s). The optimal arithmetic system to calculate the summary statistics of a petabyte data set is going to be different from a number system that is optimal for a ray-object intersection in a raytracer. Both computations are likely to be performance bottlenecks in their respective applications and a careful selection of the arithmetic system offers premier opportunities for innovations and product differentiation.
This quest to tailor the arithmetic system to the requirements of the computation is the purview of Universal. The library contains configurable number types that can be specialized to the bit-level to maximize performance or minimize energy consumption. The hierarchy of number systems follows the progression of mathematical number system sets from the natural numbers to the reals.
In the following subsections, each parameterized number system is introduced with different use cases to demonstrate its features. After these quick introductions, which are set up to be used as reference pages, we will elaborate on how these number systems can be used for mixed-precision algorithm design and optimization and apply these optimizations to actual application use cases.
Last updated