Bug: 180660762

Clone this repo:
  1. 461c365 [automerger skipped] [automerged blank] Merge remote-tracking branch 'aosp/upstream-master' to 'aosp/master' for external/ruy. 2p: 380f85132f am: ce41e9d6f0 -s ours by Ian Hua · 1 year ago android13-dev android13-frc-adbd-release android13-frc-art-release android13-frc-cellbroadcast-release android13-frc-conscrypt-release android13-mainline-go-adservices-release android13-mainline-go-odp-release android13-qpr1-release android13-qpr1-s1-release android13-qpr1-s2-release android13-qpr1-s3-release android13-qpr1-s4-release android13-qpr1-s5-release android13-tests-dev android13-tests-release main-16k main-16k-with-phones master aml_go_ads_330913000 aml_go_odp_330912000 android-13.0.0_r16 android-13.0.0_r17 android-13.0.0_r18 android-13.0.0_r19 android-13.0.0_r20 android-13.0.0_r21 android-13.0.0_r22 android-13.0.0_r23 android-13.0.0_r24 android-cts-13.0_r2 android-vts-13.0_r2 t_frc_adb_330444000 t_frc_art_330443060 t_frc_ase_330444010 t_frc_cbr_330443000 t_frc_con_330443020 t_frc_odp_330442000
  2. ce41e9d [automerged blank] Merge remote-tracking branch 'aosp/upstream-master' to 'aosp/master' for external/ruy. 2p: 380f85132f by Ian Hua · 1 year ago
  3. 380f851 Merge remote-tracking branch 'aosp/upstream-master' to 'aosp/master' for external/ruy. by Ian Hua · 1 year, 6 months ago
  4. b74caf6 [automerger skipped] Merge remote-tracking branch 'aosp/upstream-master' to 'aosp/master' for external/ruy. am: 0cdefb826c -s ours by Ian Hua · 1 year, 3 months ago
  5. 0cdefb8 Merge remote-tracking branch 'aosp/upstream-master' to 'aosp/master' for external/ruy. by Ian Hua · 1 year, 6 months ago

The ruy matrix multiplication library

This is not an officially supported Google product.

ruy is a matrix multiplication library. Its focus is to cover the matrix multiplication needs of neural network inference engines. Its initial user has been TensorFlow Lite, where it is used by default on the ARM CPU architecture.

ruy supports both floating-point and 8bit-integer-quantized matrices.

Efficiency

ruy is designed to achieve high performance not just on very large sizes, as is the focus of many established libraries, but on whatever are the actual sizes and shapes of matrices most critical in current TensorFlow Lite applications. This often means quite small sizes, e.g. 100x100 or even 50x50, and all sorts of rectangular shapes. It's not as fast as completely specialized code for each shape, but it aims to offer a good compromise of speed across all shapes and a small binary size.

Documentation

Some documentation will eventually be available in the doc/ directory, see doc/README.md.