#include <stdio.h>#include <stdlib.h>#include <stdint.h>#include <string.h>#include <time.h>#include <math.h>#include <omp.h>#include "ckernel_engine.h"Go to the source code of this file.
Macros | |
| #define | _GNU_SOURCE |
| #define | ALIGN_CONTEXT 32768 |
| #define | ALIGN_EMBED 896 |
| #define | ALIGN_HEAD 64 |
| #define | MODEL_EMBED_DIM 896 |
| #define | MODEL_HEAD_DIM 64 |
| #define | MODEL_INTERMEDIATE 4864 |
| #define | MODEL_INTERMEDIATE_SIZE 4864 |
| #define | MODEL_MAX_SEQ_LEN 32768 |
| #define | MODEL_NUM_HEADS 14 |
| #define | MODEL_NUM_KV_HEADS 2 |
| #define | MODEL_NUM_LAYERS 24 |
| #define | MODEL_VOCAB_SIZE 128256 |
Functions | |
| static void | apply_rope (float *x, int seq_len, int head_dim) |
| static void | gemm_nt (const float *input, const float *weight, float *output, int rows, int cols, int common) |
| int | main (int argc, char **argv) |
| static void | residual_add (float *residual, float *addend, int n) |
| static void | silu (float *x, int n) |
| static void | simple_attention (const float *q, const float *k, const float *v, float *output, int num_heads, int num_kv_heads, int seq_len, int head_dim) |
| static void | simple_embedding (const int32_t *tokens, int num_tokens, const float *weight, float *output, int vocab_size, int embed_dim) |
| static void | simple_rmsnorm (const float *input, const float *gamma, float *output, int tokens, int d_model, float eps) |
| static void | softmax (float *x, int n) |
| void | v6_prefill (const float *embed_weight, const int32_t *tokens, int num_tokens, float *logits) |
| #define _GNU_SOURCE |
Definition at line 12 of file v6.5_simple.c.
| #define ALIGN_CONTEXT 32768 |
Definition at line 37 of file v6.5_simple.c.
| #define ALIGN_EMBED 896 |
Definition at line 34 of file v6.5_simple.c.
| #define ALIGN_HEAD 64 |
Definition at line 35 of file v6.5_simple.c.
| #define MODEL_EMBED_DIM 896 |
Definition at line 24 of file v6.5_simple.c.
| #define MODEL_HEAD_DIM 64 |
Definition at line 28 of file v6.5_simple.c.
| #define MODEL_INTERMEDIATE 4864 |
Definition at line 36 of file v6.5_simple.c.
| #define MODEL_INTERMEDIATE_SIZE 4864 |
Definition at line 29 of file v6.5_simple.c.
| #define MODEL_MAX_SEQ_LEN 32768 |
Definition at line 31 of file v6.5_simple.c.
| #define MODEL_NUM_HEADS 14 |
Definition at line 26 of file v6.5_simple.c.
| #define MODEL_NUM_KV_HEADS 2 |
Definition at line 27 of file v6.5_simple.c.
| #define MODEL_NUM_LAYERS 24 |
Definition at line 25 of file v6.5_simple.c.
| #define MODEL_VOCAB_SIZE 128256 |
Definition at line 30 of file v6.5_simple.c.
|
static |
Definition at line 173 of file v6.5_simple.c.
Referenced by v6_prefill().
|
static |
Definition at line 145 of file v6.5_simple.c.
Referenced by v6_prefill().
| int main | ( | int | argc, |
| char ** | argv | ||
| ) |
Definition at line 295 of file v6.5_simple.c.
|
static |
Definition at line 166 of file v6.5_simple.c.
Referenced by v6_prefill().
|
static |
Definition at line 159 of file v6.5_simple.c.
Referenced by fused_mlp_swiglu_prefill_bias(), moe_swiglu_shared_forward_bf16_gated_row_range(), qwen4_ple_gate_conv_inject_impl(), recurrent_norm_gate_backward(), recurrent_norm_gate_forward(), recurrent_norm_gate_llama_avx2_forward(), recurrent_norm_gate_pytorch_bf16_storage(), recurrent_silu_forward_pytorch_bf16_storage(), swiglu_backward(), swiglu_backward_bf16(), swiglu_backward_exact(), swiglu_forward(), swiglu_forward_bf16(), swiglu_forward_exact(), swiglu_forward_ggml(), swiglu_forward_ggml_split(), swiglu_forward_pytorch_bf16_storage(), and v6_prefill().
|
static |
Definition at line 80 of file v6.5_simple.c.
References MODEL_MAX_SEQ_LEN, score, and softmax().
Referenced by v6_prefill().
|
static |
Definition at line 130 of file v6.5_simple.c.
References vocab_size.
Referenced by v6_prefill().
|
static |
Definition at line 40 of file v6.5_simple.c.
Referenced by v6_prefill().
|
static |
Definition at line 62 of file v6.5_simple.c.
Referenced by simple_attention().
| void v6_prefill | ( | const float * | embed_weight, |
| const int32_t * | tokens, | ||
| int | num_tokens, | ||
| float * | logits | ||
| ) |
Definition at line 181 of file v6.5_simple.c.
References ALIGN_EMBED, apply_rope(), gemm_nt(), MODEL_HEAD_DIM, MODEL_INTERMEDIATE, MODEL_NUM_HEADS, MODEL_NUM_KV_HEADS, MODEL_NUM_LAYERS, MODEL_VOCAB_SIZE, residual_add(), silu(), simple_attention(), simple_embedding(), and simple_rmsnorm().