XNNPACK
A highly optimized library of low-level neural network inference operators for ARM, x86, WebAssembly and RISC-V, used as an acceleration backend inside higher-level frameworks such as TensorFlow Lite, PyTorch, ONNX Runtime and MediaPipe rather than directly by model developers.
XNNPACK provides highly optimized, low-level performance primitives for neural network inference, rather than a tool meant for direct use by practitioners or researchers. It accelerates higher-level machine learning frameworks such as TensorFlow Lite, TensorFlow.js, PyTorch, ONNX Runtime, ExecuTorch and MediaPipe.
It implements a wide range of operators, including 2D convolution, deconvolution, average and max pooling, bilinear resize, elementwise arithmetic with broadcasting, activation functions such as ReLU, HardSwish, ELU and Sigmoid, and fixed-point and half-precision conversion, all supporting the NHWC layout with custom channel striding for zero-cost channel splitting and concatenation.
It targets ARM64, ARMv7, ARMv6, x86 and x86-64 up to AVX512, WebAssembly including SIMD variants, RISC-V, and Hexagon with HVX, across Android, iOS, macOS, Linux, Windows and the web.