[package]
edition = "2021"
rust-version = "1.86"
name = "pictor-model"
version = "0.1.0"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Qwen3-8B Transformer implementation for Pictor 1-bit inference"
documentation = "https://docs.rs/pictor-model"
readme = "README.md"
keywords = [
"transformer",
"qwen3",
"kv-cache",
"llm",
"inference",
]
categories = [
"science",
"algorithms",
]
license = "Apache-2.0"
repository = "https://github.com/vbasky/pictor"
[features]
metal = ["pictor-kernels/metal"]
native-cuda = ["pictor-kernels/native-cuda"]
wasm = []
[lib]
name = "pictor_model"
path = "src/lib.rs"
[[example]]
name = "gguf_dump"
path = "examples/gguf_dump.rs"
[[example]]
name = "mlx_image_convert"
path = "examples/mlx_image_convert.rs"
[[example]]
name = "mlx_image_parity"
path = "examples/mlx_image_parity.rs"
[[example]]
name = "onnx_convert"
path = "examples/onnx_convert.rs"
[[example]]
name = "onnx_inspect"
path = "examples/onnx_inspect.rs"
[[test]]
name = "attention_sink_tests"
path = "tests/attention_sink_tests.rs"
[[test]]
name = "attention_tests"
path = "tests/attention_tests.rs"
[[test]]
name = "calibration_tests"
path = "tests/calibration_tests.rs"
[[test]]
name = "checkpoint_tests"
path = "tests/checkpoint_tests.rs"
[[test]]
name = "chunked_prefill_tests"
path = "tests/chunked_prefill_tests.rs"
[[test]]
name = "compression_tests"
path = "tests/compression_tests.rs"
[[test]]
name = "cross_attention_tests"
path = "tests/cross_attention_tests.rs"
[[test]]
name = "cuda_inference_tests"
path = "tests/cuda_inference_tests.rs"
[[test]]
name = "disk_cache_tests"
path = "tests/disk_cache_tests.rs"
[[test]]
name = "dynamic_quant_tests"
path = "tests/dynamic_quant_tests.rs"
[[test]]
name = "flash_decode_tests"
path = "tests/flash_decode_tests.rs"
[[test]]
name = "fp8_kv_cache_tests"
path = "tests/fp8_kv_cache_tests.rs"
[[test]]
name = "fp8_linear_tests"
path = "tests/fp8_linear_tests.rs"
[[test]]
name = "gguf_loader_tests"
path = "tests/gguf_loader_tests.rs"
[[test]]
name = "gradient_checkpoint_tests"
path = "tests/gradient_checkpoint_tests.rs"
[[test]]
name = "kv_cache_fp16_test"
path = "tests/kv_cache_fp16_test.rs"
[[test]]
name = "kv_cache_quant_tests"
path = "tests/kv_cache_quant_tests.rs"
[[test]]
name = "layer_correctness_tests"
path = "tests/layer_correctness_tests.rs"
[[test]]
name = "layer_tests"
path = "tests/layer_tests.rs"
[[test]]
name = "losses_tests"
path = "tests/losses_tests.rs"
[[test]]
name = "lr_scheduler_tests"
path = "tests/lr_scheduler_tests.rs"
[[test]]
name = "metal_prefill_q1_parity_tests"
path = "tests/metal_prefill_q1_parity_tests.rs"
[[test]]
name = "metal_prefill_ternary_parity_tests"
path = "tests/metal_prefill_ternary_parity_tests.rs"
[[test]]
name = "mod_tests"
path = "tests/mod_tests.rs"
[[test]]
name = "model_forward"
path = "tests/model_forward.rs"
[[test]]
name = "model_merge_tests"
path = "tests/model_merge_tests.rs"
[[test]]
name = "multi_gpu_tests"
path = "tests/multi_gpu_tests.rs"
[[test]]
name = "numerical_stability_tests"
path = "tests/numerical_stability_tests.rs"
[[test]]
name = "paged_kv_cache_tests"
path = "tests/paged_kv_cache_tests.rs"
[[test]]
name = "pruning_tests"
path = "tests/pruning_tests.rs"
[[test]]
name = "q5k_q6k_model_tests"
path = "tests/q5k_q6k_model_tests.rs"
[[test]]
name = "quantization_tests"
path = "tests/quantization_tests.rs"
[[test]]
name = "rope_scaling_tests"
path = "tests/rope_scaling_tests.rs"
[[test]]
name = "smoothquant_fp8_tests"
path = "tests/smoothquant_fp8_tests.rs"
[[test]]
name = "sparse_attention_tests"
path = "tests/sparse_attention_tests.rs"
[[test]]
name = "ternary_integration"
path = "tests/ternary_integration.rs"
[[test]]
name = "weight_tying_tests"
path = "tests/weight_tying_tests.rs"
[[test]]
name = "yarn_rope_tests"
path = "tests/yarn_rope_tests.rs"
[dependencies.anyhow]
version = "1.0.102"
[dependencies.half]
version = "2.7.1"
features = ["serde"]
[dependencies.memmap2]
version = "0.9.10"
[dependencies.oxionnx-proto]
version = "0.1.4"
[dependencies.pictor-core]
version = "0.1.0"
[dependencies.pictor-kernels]
version = "0.1.0"
[dependencies.rayon]
version = "1.12.0"
[dependencies.safetensors]
version = "0.7.0"
[dependencies.serde]
version = "1.0.228"
features = ["derive"]
[dependencies.serde_json]
version = "1.0.150"
[dependencies.thiserror]
version = "2.0.18"
[dependencies.tracing]
version = "0.1.44"
[dev-dependencies.proptest]
version = "1.11.0"
[dev-dependencies.serde_json]
version = "1.0.150"