gemma.cpp/compression
Ray Smith 0d68555f87 Eliminated TConfig.
Changed CompressedLayer and CompressedWeights to be constructed with an instance of a LayerConfig and WeightsConfig respectively.
Added CompressedModel to remove ByteStorageT and get rid of most of the type casting, as well as allowing the default destructor to be used and work properly.
Adjusted WeightsWrapper and ForwardLayer etc to match.
The only remaining template arg is the weight type.
This enables all the instantiations to be deleted, apart from one per type.
It also enables (but not yet done) the config to be stored in the blob file instead of having to be specified separately.
Reduces the size of the gemma_lib and weights shared libraries by a factor of 4.3 and 3.2 respectively.

PiperOrigin-RevId: 686870060
2024-10-17 05:04:22 -07:00
..
python Minor cleanup, Windows+Bazel build fixes 2024-10-10 09:05:06 -07:00
BUILD.bazel Minor cleanup, Windows+Bazel build fixes 2024-10-10 09:05:06 -07:00
analyze.h Major compression update, arbitrary-len unpack + new Dot 2024-09-10 02:22:19 -07:00
blob_store.cc Eliminated TConfig. 2024-10-17 05:04:22 -07:00
blob_store.h Added MatPtr/MatPtrT/MatStorageT/MatStorage as a dynamically-sized replacement for CompressedArray. 2024-10-10 08:22:30 -07:00
compress-inl.h Minor cleanup, Windows+Bazel build fixes 2024-10-10 09:05:06 -07:00
compress.cc Added MatPtr/MatPtrT/MatStorageT/MatStorage as a dynamically-sized replacement for CompressedArray. 2024-10-10 08:22:30 -07:00
compress.h Eliminated TConfig. 2024-10-17 05:04:22 -07:00
compress_test.cc Major compression update, arbitrary-len unpack + new Dot 2024-09-10 02:22:19 -07:00
compress_weights.cc Eliminated TConfig. 2024-10-17 05:04:22 -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 Minor cleanup, Windows+Bazel build fixes 2024-10-10 09:05:06 -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 Eliminated TConfig. 2024-10-17 05:04:22 -07:00
test_util-inl.h Add double-precision dot variant 2024-09-26 12:09:10 -07:00