gemma.cpp/evals
The gemma.cpp Authors ba10c88a94 Add C API and C# interop files
This change adds a basic C API that allows access to Gemma functionality from other programming languages. The functionality is exposed via a shared library (DLL on Windows), with C++ interfaces and a basic C# interop wrapper included.

To build the DLL, use the `windows-dll` preset, which includes the C and C++ sources as follows:
```
cmake --preset windows-dll
cmake --build --config Release --preset windows-dll -j 4
```
This should generate a `gemma.dll` in `<build-dir>/Release`.

To build for non-Windows, the appropriate C++ DLL linking will need to be done to generate a shared library for the target OS.

PiperOrigin-RevId: 750246272
2025-04-22 10:35:47 -07:00
..
benchmark.cc Major refactor of allocator/args: 2025-04-10 01:29:54 -07:00
benchmark_helper.cc Major refactor of allocator/args: 2025-04-10 01:29:54 -07:00
benchmark_helper.h Add C API and C# interop files 2025-04-22 10:35:47 -07:00
benchmarks.cc Introduce QueryResult in GemmaEnv and add a shortcut for WrapAndTokenize. 2024-10-14 04:45:21 -07:00
cross_entropy.cc Tiny cleanup. 2024-12-10 03:34:05 -08:00
cross_entropy.h Introduce QueryResult in GemmaEnv and add a shortcut for WrapAndTokenize. 2024-10-14 04:45:21 -07:00
debug_prompt.cc Introduce QueryResult in GemmaEnv and add a shortcut for WrapAndTokenize. 2024-10-14 04:45:21 -07:00
gemma_batch_bench.cc Major refactor of allocator/args: 2025-04-10 01:29:54 -07:00
gemma_test.cc Major refactor of allocator/args: 2025-04-10 01:29:54 -07:00
prompts.h Benchmark gemma.cpp with different length inputs. 2024-10-10 15:59:26 -07:00
run_mmlu.cc Major refactor of allocator/args: 2025-04-10 01:29:54 -07:00