Math Processor

Abacus Semiconductor has developed a math processor to accelerate the execution of mathematical functions typically used in traditional HPC as well as in AI and ML. Unlike existing math accelerators such as GPGPUs, we support all relevant data types natively (integer and floating-point of a variety of register widths, and we also have added RISC-V cores to assist in exception handling. However, our internal math processing is closer to that which was developed by Prof. John Gustafsonā€™s during his work on POSITs. Our native data format and all math operations use the more mathematically correct POSIT math as opposed to the IEEE 754 Floating-Point math. We have also eliminated most of the problems associated with the Floating-Point standard exception handling. IEEE 754 is at the same time very verbose and imprecise.

The Math Processor is a massively parallel processor that accelerates all openCL and openACC applications.

Using existing math APIs will help replacing handwritten C or assembly code for better performance, easier portability and drastically simplified maintenance while providing better performance and scalability, along with higher precision and accuracy.

Our Math Processors can be used in traditional HPC such as FEA/FEM, solving n-body problems, for Computational Fluid Dynamics (CFD), mechanical, thermal and electrical simulations including signal integrity and power integrity problems, modeling and a variety of other applications, and in more modern HPC fields such as in AI for training and inference. Transforms, matrix math and tensor math are specifically implemented in an optimized manner.

We paid special attention to Fused-Multiply-Accumulate (FMA) performance across a wide range of lengths of sequential FMAs in indexed data entities, which is a prerequisite for matrix and tensor operations, and for transforms such as Fourier Transforms or their discrete versions, Discrete Fourier Transforms. While others focus on the FMA alone, we made sure we avoid collisions and contention in data access to the elements that need to be fetched and written back.

These comprehensive subsystems include the Math Processors, firmware, software and APIs as well as SDK plugins. With regards to APIs we support our own native data and instruction formats as well as openCL and openACC. For applications that rely on CUDA we support those function calls and translate them into our native data and instruction formats. The ASC-MP is also referred to as the ASC29400 family.