Generic Model API - Model-agnostic interface for CK-Engine. More...
#include <stddef.h>#include <stdint.h>Go to the source code of this file.
Data Structures | |
| struct | CKModelConfig |
Functions | |
| void * | ck_model_create (void) |
| void | ck_model_decode (void *model, const int *token, int token_index) |
| void | ck_model_forward (void *model, const int *tokens, int num_tokens) |
| void | ck_model_free (void *model) |
| void * | ck_model_get_base (void *model) |
| const CKModelConfig * | ck_model_get_config (void) |
| float * | ck_model_get_logits (void *model) |
| size_t | ck_model_get_total_bytes (void *model) |
| int | ck_model_load_weights (void *model, const char *bump_path) |
| void | ck_model_precompute_rope (void *model) |
| int | ck_model_verify_canaries (void *model) |
Generic Model API - Model-agnostic interface for CK-Engine.
All generated models emit the same function names, making the inference engine completely model-agnostic. To use different models, compile separate binaries.
Usage: void *model = ck_model_create(); ck_model_load_weights(model, "weights.bump"); ck_model_forward(model, tokens, num_tokens); // prefill ck_model_decode(model, &token, token_index); // decode float *logits = ck_model_get_logits(model); ck_model_free(model);
Definition in file ck_model_api.h.
| void* ck_model_create | ( | void | ) |
Create and allocate model memory. Returns opaque model pointer, or NULL on failure.
Definition at line 8582 of file v6.5/test_generated/generic_api_test.c.
References model_model_allocate(), and qwen2_0_5b_decode_model_allocate().
Referenced by main().
| void ck_model_decode | ( | void * | model, |
| const int * | token, | ||
| int | token_index | ||
| ) |
Decode single token at position token_index. Used for autoregressive generation.
Definition at line 8606 of file v6.5/test_generated/generic_api_test.c.
References model_decode(), qwen2_0_5b_decode_decode(), and token.
Referenced by run_benchmark(), and run_generation_test().
| void ck_model_forward | ( | void * | model, |
| const int * | tokens, | ||
| int | num_tokens | ||
| ) |
Forward pass (prefill) - process multiple tokens. Used for initial prompt processing.
Definition at line 8602 of file v6.5/test_generated/generic_api_test.c.
References model_forward(), and qwen2_0_5b_decode_forward().
| void ck_model_free | ( | void * | model | ) |
Free model memory.
Definition at line 8592 of file v6.5/test_generated/generic_api_test.c.
References model_model_free(), and qwen2_0_5b_decode_model_free().
Referenced by main().
| void* ck_model_get_base | ( | void * | model | ) |
Get model base pointer (for weight loading).
Definition at line 8619 of file v6.5/test_generated/generic_api_test.c.
Referenced by load_weights_from_bump().
| const CKModelConfig* ck_model_get_config | ( | void | ) |
Get model configuration (dimensions, sizes, etc.) This is available before allocation.
Definition at line 8578 of file v6.5/test_generated/generic_api_test.c.
References g_model_config.
Referenced by load_weights_from_bump(), main(), run_benchmark(), and run_generation_test().
| float* ck_model_get_logits | ( | void * | model | ) |
Get pointer to output logits buffer. Size is vocab_size floats.
Definition at line 8610 of file v6.5/test_generated/generic_api_test.c.
References QWEN2_0_5B_DECODEFooterOffsets::logits, QWEN2_0_5B_DECODE_FOOTER, and QWEN2_0_5B_DECODE_PTR.
Referenced by run_generation_test().
| size_t ck_model_get_total_bytes | ( | void * | model | ) |
Get total model size in bytes.
Definition at line 8623 of file v6.5/test_generated/generic_api_test.c.
Referenced by load_weights_from_bump().
| int ck_model_load_weights | ( | void * | model, |
| const char * | bump_path | ||
| ) |
Load weights from BUMP file into model. Returns 0 on success, -1 on failure.
| void ck_model_precompute_rope | ( | void * | model | ) |
Precompute RoPE cos/sin caches. Call once after allocation, before inference.
Definition at line 8598 of file v6.5/test_generated/generic_api_test.c.
References model_precompute_rope(), and qwen2_0_5b_decode_precompute_rope().
Referenced by main().
| int ck_model_verify_canaries | ( | void * | model | ) |
Verify memory canaries (debug). Returns number of corrupted canaries (0 = OK).
Definition at line 8615 of file v6.5/test_generated/generic_api_test.c.
References model_verify_canaries(), and qwen2_0_5b_decode_verify_canaries().
Referenced by run_benchmark().