[package]
edition = "2024"
rust-version = "1.85"
name = "cortiq-engine"
version = "0.2.2"
authors = ["Oleg Kirichenko <urevich55@gmail.com>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Portable inference runtime for the CMF model format, with no ML framework underneath: runs on CPU, and on GPU (Vulkan / Metal / DX12) with the `gpu` feature; tokenizer, chat templates and dynamic per-skill weight overlay."
homepage = "https://github.com/infosave2007/cmf"
readme = "README.md"
keywords = [
"llm",
"inference",
"quantization",
"model-format",
"gpu",
]
categories = ["science"]
license = "Apache-2.0"
repository = "https://github.com/infosave2007/cmf"
resolver = "2"
[features]
gpu = [
"dep:wgpu",
"dep:pollster",
"dep:bytemuck",
]
[lib]
name = "cortiq_engine"
path = "src/lib.rs"
[[example]]
name = "decode_flat"
path = "examples/decode_flat.rs"
[[example]]
name = "matvec_bw"
path = "examples/matvec_bw.rs"
[[example]]
name = "pool_lat"
path = "examples/pool_lat.rs"
[[test]]
name = "chat_template_parity"
path = "tests/chat_template_parity.rs"
[[test]]
name = "fcd_gradcheck"
path = "tests/fcd_gradcheck.rs"
[[test]]
name = "fcd_runtime_parity"
path = "tests/fcd_runtime_parity.rs"
[[test]]
name = "fcd_train"
path = "tests/fcd_train.rs"
[[test]]
name = "gdn_oracle"
path = "tests/gdn_oracle.rs"
[[test]]
name = "golden_parity"
path = "tests/golden_parity.rs"
[[test]]
name = "mask_quant"
path = "tests/mask_quant.rs"
[[test]]
name = "nystrom_parity"
path = "tests/nystrom_parity.rs"
[[test]]
name = "o1_runtime"
path = "tests/o1_runtime.rs"
[[test]]
name = "skills"
path = "tests/skills.rs"
[[test]]
name = "tokenizer_parity"
path = "tests/tokenizer_parity.rs"
[dependencies.anyhow]
version = "1"
[dependencies.base64]
version = "0.22"
[dependencies.bytemuck]
version = "1"
features = ["derive"]
optional = true
[dependencies.cortiq-core]
version = "0.2.1"
[dependencies.fancy-regex]
version = "0.14"
[dependencies.minijinja]
version = "2"
features = ["loop_controls"]
[dependencies.minijinja-contrib]
version = "2"
features = ["pycompat"]
[dependencies.pollster]
version = "0.4"
optional = true
[dependencies.serde]
version = "1"
features = ["derive"]
[dependencies.serde_json]
version = "1"
[dependencies.thiserror]
version = "2"
[dependencies.tokio]
version = "1"
features = ["full"]
[dependencies.tracing]
version = "0.1"
[dependencies.unicode-normalization]
version = "0.1"
[dependencies.wgpu]
version = "30"
optional = true
[target.'cfg(target_os = "macos")'.dependencies.metal]
version = "0.29"