1.3 KiB
1.3 KiB
Acknowledgments
burn-flex draws on ideas and techniques from several open-source projects.
ndarray
ndarray - N-dimensional array library for Rust.
- 8-fold unrolled reduction loop: Our
sum_f32implementation insimd/kernels.rsuses ndarray'sunrolled_foldpattern, where eight independent accumulators allow LLVM to emit optimal SIMD code without explicit intrinsic dispatch.
Candle
Candle - Minimalist ML framework by Hugging Face.
- Tiled im2col for convolutions: Our convolution implementation uses a tiled im2col approach (TILE_SIZE=512) inspired by Candle, processing output in fixed-size tiles for better L2 cache utilization and enabling tile-level parallelism.
gemm / macerator
gemm and macerator, part of the faer ecosystem.
- gemm: Powers all matrix multiplication and convolution GEMM calls (matmul, conv im2col, deformable conv). Provides strided memory access so we can multiply transposed tensors without copying, and native f16 support.
- macerator: Provides portable SIMD dispatch for scatter-add reductions across NEON, AVX2, and WASM SIMD128 with a scalar fallback.