1pub mod block_residual;
12pub mod capability;
13pub mod chat_template;
14pub mod config;
15pub mod decoder;
16pub mod deepseek_v4_decoder;
17pub mod device_budget;
18pub mod engine;
19pub mod engine_factory;
20pub mod execution_plan;
21pub mod gdn;
22pub mod gemma4_engine;
23pub mod gemma4_gguf_loader;
24pub mod glm52_decoder;
25pub mod glm52_gguf_loader;
26pub mod glm_dsa;
27pub mod hf_pull;
28pub mod hybrid_engine;
29pub mod hybrid_gguf_loader;
30pub mod hyper_connections;
31pub mod kda;
32pub mod kimi_decoder;
33pub mod kimi_generate;
34pub mod kimi_gguf_loader;
35pub mod kimi_loader;
36pub mod kimi_tokenizer;
37pub mod kimi_validate;
38pub mod kv_budget;
39pub mod latent_moe;
40pub mod llama4_engine;
41pub mod loader;
42pub mod minimax_engine;
43pub mod mla;
44pub mod mla_gguf_loader;
45pub mod mmproj;
46pub mod output_projection;
47pub mod prefix_cache;
48pub mod recurrent_engine;
49pub mod residency_report;
50pub mod sampling;
51pub mod speculative;
52pub mod t5_engine;
53pub mod tensor_role;
54pub mod tokenizer;
55pub mod vision;
56pub mod vl_engine;
57
58pub use capability::{
59 architecture_catalog, coverage_report_markdown, resolve_architecture, resolve_profile,
60 ArchPath, ArchProfile, ArchScope, DecoderFamily, MemoryKind, QkNormStyle,
61};
62pub use config::{deepseek_v4_pro, glm_5_2, kimi_k3, FfnActivation, ModelConfig, RopeLayout};
63pub use decoder::Decoder;
64pub use device_budget::{BudgetBackend, DeviceBudget};
65pub use engine::{
66 DeepseekV4Engine, Engine, Glm52Engine, KimiEngine, MlaDenseFfn, MlaEngine, MlaLayerFfn,
67 MlaLayerWeights, MlaMoeFfn, MlaMoeRuntime, TextTokenizer,
68};
69pub use engine_factory::{
70 ensure_generic_decoder, load_gemma4_engine_from_path, load_glm52_engine_from_path,
71 load_mla_engine_from_path, select_engine_kind, EngineSelectError, SelectedEngineKind,
72 ServedEngine,
73};
74pub use execution_plan::{ExecutionPlan, FusedOpCaps, MemoryPlan, PlanGeometry};
75pub use gemma4_engine::{Gemma4Engine, Gemma4Hparams, GEMMA4_ARCHES};
76pub use kv_budget::{
77 Ceiling, ContextCap, ContextFit, KvBudget, KvBudgetError, KvElem, KvLayout, KvShape,
78 SlidingWindow, CTX_AUTO_GRANULARITY,
79};
80pub use loader::LoadError;
81pub use output_projection::grouped_output_projection;
82pub use prefix_cache::{PrefixCache, PrefixCacheStats, PrefixMatch};
83pub use sampling::{Sampler, SamplingParams};
84pub use speculative::{speculative_decode, PromptLookupSpeculator, SpeculativeDecodeResult};
85pub use tensor_role::TensorRole;
86pub use tokenizer::{
87 ByteTokenizer, GgufBpeTokenizer, GgufSpmTokenizer, GgufUnigramTokenizer, TokenizerLoadError,
88};
89
90#[cfg(feature = "metal")]
91pub use ferrox_metal::attn::{
92 metal_greedy_argmax_active, metal_greedy_gpu_enabled, set_metal_greedy_argmax,
93};