Scientists Found a Faster Way to Do Complex Math
This could make your apps run smoother and speed up AI.
We present a novel variant of the Strassen algorithm called the Partial Strassen algorithm, which uses a fraction of the Strassen steps to perform matrix multiplication in less time than traditional implementations. The memory footprint required to implement this algorithm is provably small whether used with a single thread or in a multi-threaded context.
Data comparing the Partial Strassen algorithm at depths one, two, and three with BLAS matrix multiplication show that the three-level Partial Strassen algorithm is able to perform matrix multiplication in $80\%$ the time of BLAS with $2.25$ times the memory requirement, with a theoretical improvement of $75\%$ for sufficiently large matrices. The Partial Strassen algorithm is also compared against an implementation of the traditional Strassen algorithm, and is shown to be more performant with increasing matrix size due to decreased memory consumption. An open source implementation of the Partial Strassen algorithm for arbitrary depth and rectangular matrix multiplication is also included.
- Matrix multiplication is used in AI, graphics, and data analysis.
- The new method could make computers faster and more energy-efficient.
- It's not yet ready for real-world use, but it's a promising step.
Why It Matters
Faster math means quicker apps, better AI, and longer battery life for your devices.