1#[repr(C)]
4pub(super) struct IndexParams {
5 pub(super) ihd: u32,
6 pub(super) inh: u32,
7 pub(super) qk_dim: u32,
8 pub(super) ratio: u32,
9 pub(super) rot: u32,
10 pub(super) theta: f32,
11 pub(super) eps: f32,
12 pub(super) base_pos: u32,
13 pub(super) nb: u32,
14 pub(super) b0: u32,
15 pub(super) b1: u32,
16 pub(super) k: u32,
17 pub(super) max_blocks: u32,
18 pub(super) vis_stride: u32,
19 pub(super) mask_words: u32,
20}
21
22#[repr(C)]
23#[derive(Clone, Copy)]
24pub(super) struct GroupParams {
25 pub(super) n: u32,
26 pub(super) groups: u32,
27 pub(super) eps: f32,
28 pub(super) shift: f32,
29}
30
31#[repr(C)]
32pub(super) struct NormPrepParams {
33 pub(super) n: u32,
34 pub(super) groups: u32,
35 pub(super) eps: f32,
36 pub(super) inject: u32,
37}
38
39#[repr(C)]
40pub(super) struct MoeBParams {
41 pub(super) inter: u32,
42 pub(super) hidden: u32,
43 pub(super) n_u: u32,
44 pub(super) gate_w: u32,
45 pub(super) up_w: u32,
46 pub(super) down_w: u32,
47 pub(super) gate_s: u32,
48 pub(super) gate_b: u32,
49 pub(super) up_s: u32,
50 pub(super) up_b: u32,
51 pub(super) down_s: u32,
52 pub(super) down_b: u32,
53 pub(super) layer: u32,
54 pub(super) shared: u32,
55 pub(super) nb: u32,
56 pub(super) sh_gate_w: u32,
57 pub(super) sh_gate_s: u32,
58 pub(super) sh_gate_b: u32,
59 pub(super) sh_up_w: u32,
60 pub(super) sh_up_s: u32,
61 pub(super) sh_up_b: u32,
62 pub(super) sh_down_w: u32,
63 pub(super) sh_down_s: u32,
64 pub(super) sh_down_b: u32,
65 pub(super) sh_gate_vec: u32,
66 pub(super) part: u32,
67 pub(super) low_gate_w: u32,
68 pub(super) low_up_w: u32,
69 pub(super) low_down_w: u32,
70 pub(super) low_gate_s: u32,
71 pub(super) low_gate_b: u32,
72 pub(super) low_up_s: u32,
73 pub(super) low_up_b: u32,
74 pub(super) low_down_s: u32,
75 pub(super) low_down_b: u32,
76}
77
78#[repr(C)]
79pub(super) struct QmvParams {
80 pub(super) out_dim: u32,
81 pub(super) in_dim: u32,
82}
83
84#[repr(C)]
85#[derive(Clone, Copy)]
86pub(super) struct QkRopeParams {
87 pub(super) n_heads: u32,
88 pub(super) head_dim: u32,
89 pub(super) stride: u32,
90 pub(super) rot: u32,
91 pub(super) pos: u32,
92 pub(super) theta: f32,
93 pub(super) eps: f32,
94}
95
96#[repr(C)]
97pub(super) struct ConvParams {
98 pub(super) channels: u32,
99 pub(super) ksize: u32,
100}
101
102#[repr(C)]
103pub(super) struct DeltaPrepParams {
104 pub(super) n_k: u32,
105 pub(super) n_v: u32,
106 pub(super) d_k: u32,
107 pub(super) d_v: u32,
108 pub(super) eps: f32,
109 pub(super) nb: u32,
110 pub(super) snap_after: u32,
111}
112
113#[repr(C)]
114pub(super) struct AttnPartParams {
115 pub(super) n_heads: u32,
116 pub(super) n_kv: u32,
117 pub(super) head_dim: u32,
118 pub(super) t_len: u32,
119 pub(super) q_stride: u32,
120 pub(super) q_off: u32,
121 pub(super) max_blk: u32,
122 pub(super) scale: f32,
123}
124
125#[repr(C)]
126pub(super) struct KvQParams {
127 pub(super) row: u32,
128 pub(super) t0: u32,
129 pub(super) nb: u32,
130 pub(super) scale_off: u32,
131}
132
133#[repr(C)]
134pub(super) struct PleConvParams {
135 pub(super) channels: u32,
136 pub(super) ksize: u32,
137 pub(super) dilation: u32,
138 pub(super) span: u32,
139 pub(super) filled: u32,
140 pub(super) nb: u32,
141}