gemma.cpp/examples
Jan Wassenberg 8532da47f7 Major refactor of allocator/args:
use new ThreadingContext2 instead of monostate/init in each frontend
Add ThreadingArgs(replaces AppArgs)

backprop: use Packed() accessor and MakePacked factory and row-based access to allow for stride
compress_weights: remove, moving to py-only exporter instead

Move MatPtr to mat.h and revise interface:
- Generic MatOwner
- rename accessors to Packed*
- support stride/row accessors, fix RowPtr stride

Add TypeBits(Type)
Move GenerateMat to test_util-inl for sharing between matmul test/bench
Move internal init to gemma.cc to avoid duplication
Rename GemmaEnv model_ to gemma_ for disambiguating vs upcoming ModelStorage
Remove --compressed_weights, use --weights instead.
tensor_index: add ExtentsFromInfo and TensorIndexLLM/Img
Allocator: use normal unique_ptr for AllocBytes so users can call directly
threading: use -> because AlignedPtr no longer assumes arrays
PiperOrigin-RevId: 745918637
2025-04-10 01:29:54 -07:00
..
hello_world Major refactor of allocator/args: 2025-04-10 01:29:54 -07:00
simplified_gemma Major refactor of allocator/args: 2025-04-10 01:29:54 -07:00
README.md Update README with more details on contributing code, add experimental/ directory, add READMEs for subdirectories, clean up DEVELOPER notes 2024-03-15 14:10:24 -04:00

README.md

Examples

In this directory are some simple examples illustrating usage of gemma.cpp as a library beyond the interactive gemma app implemented in run.cc.

  • hello_world/ - minimal/template project for using gemma.cpp as a library. It sets up the model state and generates text for a single hard coded prompt.