gemma.cpp/compression
Jan Wassenberg 8c0a8834c1 Major compression update, arbitrary-len unpack + new Dot
Compression:
* Implement {any packed} x {bf16, f32} 'Load2' and DecompressAndZeroPad
* New compression test for all packed formats, add to GEMMA_TEST_FILES, remove from sfp/nuq_test
* Decompress->DecompressAndZeroPad, use PackedSpan for args with bounds checking
* NUQ: support arbitrary-length enc/dec
* New compression/shared, remove sfp.h and nuq.h
* Move Store2 into Traits and provide Compress2 wrapper
* Remove unused Decompress()-with-pool overload
* Simplify CompressedArrayLen, rename to CompressedArrayElements
* Remove unused DistortionStats b_l1_

Misc:
* Add compensated and Kahan dot, support any length
* Use same Dot function everywhere
* Move exact arithmetic functions into fp_arith
* use FloatPtr and MatPtr typedefs in tests; less stack usage
* Rename args to packed/raw
* Remove Traits::Name, instead TypeName<T>()
* Move kMaxSFP and kClusters/kGroupSize into Sfp/NuqStream
PiperOrigin-RevId: 672868468
2024-09-10 02:22:19 -07:00
..
python Minor cleanup/fixes: 2024-09-09 06:58:09 -07:00
BUILD Major compression update, arbitrary-len unpack + new Dot 2024-09-10 02:22:19 -07:00
analyze.h Major compression update, arbitrary-len unpack + new Dot 2024-09-10 02:22:19 -07:00
blob_store.cc Make BlobWriter::Add() accept const void* 2024-05-17 08:11:06 -07:00
blob_store.h Make BlobWriter::Add() accept const void* 2024-05-17 08:11:06 -07:00
compress-inl.h Major compression update, arbitrary-len unpack + new Dot 2024-09-10 02:22:19 -07:00
compress.h Major compression update, arbitrary-len unpack + new Dot 2024-09-10 02:22:19 -07:00
compress_test.cc Major compression update, arbitrary-len unpack + new Dot 2024-09-10 02:22:19 -07:00
compress_weights.cc Major compression update, arbitrary-len unpack + new Dot 2024-09-10 02:22:19 -07:00
convert_weights.py Cleanup: move util/compress and convert_weights to compression/ 2024-07-05 04:16:52 -07:00
distortion.h Refactor/cleanup, remove even_odd 2024-09-04 09:25:13 -07:00
distortion_test.cc Major compression update, arbitrary-len unpack + new Dot 2024-09-10 02:22:19 -07:00
io.cc Further improve IO, enable multiple backends without -D. 2024-04-19 00:40:29 -07:00
io.h Major duplicated code reduction in test/benchmarks 2024-06-14 00:16:25 -07:00
io_win.cc Further improve IO, enable multiple backends without -D. 2024-04-19 00:40:29 -07:00
nuq-inl.h Major compression update, arbitrary-len unpack + new Dot 2024-09-10 02:22:19 -07:00
nuq_test.cc Major compression update, arbitrary-len unpack + new Dot 2024-09-10 02:22:19 -07:00
sfp-inl.h Major compression update, arbitrary-len unpack + new Dot 2024-09-10 02:22:19 -07:00
sfp_test.cc Major compression update, arbitrary-len unpack + new Dot 2024-09-10 02:22:19 -07:00
shared.h Major compression update, arbitrary-len unpack + new Dot 2024-09-10 02:22:19 -07:00
test_util-inl.h Major compression update, arbitrary-len unpack + new Dot 2024-09-10 02:22:19 -07:00
weights_raw.h Major MatMul update, 1.9-2.3x speedup on Zen4 via bf16 mul 2024-08-16 07:52:20 -07:00