xref: /aosp_15_r20/external/ruy/README.md (revision bb86c7ed5fb1b98a7eac808e443a46cc8b90dfc0)
1*bb86c7edSAndroid Build Coastguard Worker# The ruy matrix multiplication library
2*bb86c7edSAndroid Build Coastguard Worker
3*bb86c7edSAndroid Build Coastguard WorkerThis is not an officially supported Google product.
4*bb86c7edSAndroid Build Coastguard Worker
5*bb86c7edSAndroid Build Coastguard Workerruy is a matrix multiplication library. Its focus is to cover the matrix
6*bb86c7edSAndroid Build Coastguard Workermultiplication needs of neural network inference engines. Its initial user has
7*bb86c7edSAndroid Build Coastguard Workerbeen TensorFlow Lite, where it is used by default on the ARM CPU architecture.
8*bb86c7edSAndroid Build Coastguard Worker
9*bb86c7edSAndroid Build Coastguard Workerruy supports both floating-point and 8bit-integer-quantized matrices.
10*bb86c7edSAndroid Build Coastguard Worker
11*bb86c7edSAndroid Build Coastguard Worker## Efficiency
12*bb86c7edSAndroid Build Coastguard Worker
13*bb86c7edSAndroid Build Coastguard Workerruy is designed to achieve high performance not just on very large sizes, as
14*bb86c7edSAndroid Build Coastguard Workeris the focus of many established libraries, but on whatever are the actual sizes
15*bb86c7edSAndroid Build Coastguard Workerand shapes of matrices most critical in current TensorFlow Lite applications.
16*bb86c7edSAndroid Build Coastguard WorkerThis often means quite small sizes, e.g. 100x100 or even 50x50, and all sorts of
17*bb86c7edSAndroid Build Coastguard Workerrectangular shapes. It's not as fast as completely specialized code for each
18*bb86c7edSAndroid Build Coastguard Workershape, but it aims to offer a good compromise of speed across all shapes and a
19*bb86c7edSAndroid Build Coastguard Workersmall binary size.
20*bb86c7edSAndroid Build Coastguard Worker
21*bb86c7edSAndroid Build Coastguard Worker## Documentation
22*bb86c7edSAndroid Build Coastguard Worker
23*bb86c7edSAndroid Build Coastguard WorkerSome documentation will eventually be available in the doc/ directory, see
24*bb86c7edSAndroid Build Coastguard Worker[doc/README.md](doc/README.md).
25*bb86c7edSAndroid Build Coastguard Worker
26