[package]
edition = "2024"
rust-version = "1.87"
name = "rlx-models"
version = "0.2.5"
authors = [
"Eugene Hauptmann",
"Nataliya Kosmyna",
]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Model loading for RLX — config parsing, safetensors weights, graph builders"
homepage = "https://github.com/MIT-RLX/rlx-models"
documentation = "https://docs.rs/rlx-models"
readme = "README.md"
keywords = [
"ml",
"tensor",
"compiler",
"neural-network",
]
categories = [
"science",
"algorithms",
]
license = "GPL-3.0-only"
repository = "https://github.com/MIT-RLX/rlx-models"
resolver = "2"
[features]
all-backends = [
"metal",
"mlx",
"cuda",
"rocm",
"gpu",
"vulkan",
]
amd-gpu = ["rocm"]
apple-silicon = [
"metal",
"mlx",
"gpu",
]
compat-net = ["rlx-cli/compat-net"]
cuda = [
"rlx-runtime/cuda",
"rlx-bert/cuda",
"rlx-clinicalbert/cuda",
"rlx-bonsai/cuda",
"rlx-cohere/cuda",
"rlx-dinov2/cuda",
"rlx-embed/cuda",
"rlx-flux2/cuda",
"rlx-gemma/cuda",
"rlx-granite/cuda",
"rlx-llada2/cuda",
"rlx-llama32/cuda",
"rlx-lfm/cuda",
"rlx-locateanything/cuda",
"rlx-minicpm5/cuda",
"rlx-mistral/cuda",
"rlx-neutts/cuda",
"rlx-kittentts/cuda",
"rlx-nomic/cuda",
"rlx-ocr/cuda",
"rlx-omnicoder/cuda",
"rlx-phi/cuda",
"rlx-qwen3/cuda",
"rlx-qwen3-tts/cuda",
"rlx-qwen35/cuda",
"rlx-sam/cuda",
"rlx-sam2/cuda",
"rlx-sam3/cuda",
"rlx-vision/cuda",
"rlx-vjepa2/cuda",
"rlx-voxtral/cuda",
"rlx-voxtral-tts/cuda",
"rlx-wav2vec2-bert/cuda",
"rlx-whisper/cuda",
]
default = [
"qwen35-tokenizer",
"flux2-tokenizer",
"flux2-image",
"embed",
]
embed = ["rlx-embed/embed"]
flux2-image = ["rlx-flux2/flux2-image"]
flux2-tokenizer = ["rlx-flux2/flux2-tokenizer"]
gpu = [
"rlx-runtime/gpu",
"rlx-bert/gpu",
"rlx-clinicalbert/gpu",
"rlx-bonsai/gpu",
"rlx-cohere/gpu",
"rlx-dinov2/gpu",
"rlx-embed/gpu",
"rlx-flux2/gpu",
"rlx-gemma/gpu",
"rlx-granite/gpu",
"rlx-llada2/gpu",
"rlx-llama32/gpu",
"rlx-lfm/gpu",
"rlx-locateanything/gpu",
"rlx-minicpm5/gpu",
"rlx-mistral/gpu",
"rlx-neutts/gpu",
"rlx-kittentts/gpu",
"rlx-nomic/gpu",
"rlx-ocr/gpu",
"rlx-omnicoder/gpu",
"rlx-phi/gpu",
"rlx-qwen3/gpu",
"rlx-qwen3-tts/gpu",
"rlx-qwen35/gpu",
"rlx-sam/gpu",
"rlx-sam2/gpu",
"rlx-sam3/gpu",
"rlx-vision/gpu",
"rlx-vjepa2/gpu",
"rlx-voxtral/gpu",
"rlx-voxtral-tts/gpu",
"rlx-wav2vec2-bert/gpu",
"rlx-whisper/gpu",
]
hf-download = [
"dep:hf-hub",
"rlx-embed/hf-download",
"rlx-llada2/hf-download",
"rlx-flux2/hf-download",
"rlx-minicpm5/hf-download",
"rlx-locateanything/hf-download",
"rlx-qwen3-tts/hf-download",
"rlx-kittentts/hf-download",
]
metal = [
"rlx-runtime/metal",
"dep:rlx-metal",
"rlx-bert/metal",
"rlx-clinicalbert/metal",
"rlx-bonsai/metal",
"rlx-cohere/metal",
"rlx-dinov2/metal",
"rlx-embed/metal",
"rlx-flux2/metal",
"rlx-gemma/metal",
"rlx-granite/metal",
"rlx-llada2/metal",
"rlx-llama32/metal",
"rlx-lfm/metal",
"rlx-locateanything/metal",
"rlx-minicpm5/metal",
"rlx-mistral/metal",
"rlx-neutts/metal",
"rlx-kittentts/metal",
"rlx-nomic/metal",
"rlx-ocr/metal",
"rlx-omnicoder/metal",
"rlx-phi/metal",
"rlx-qwen3/metal",
"rlx-qwen3-tts/metal",
"rlx-qwen35/metal",
"rlx-sam/metal",
"rlx-sam2/metal",
"rlx-sam3/metal",
"rlx-vision/metal",
"rlx-vjepa2/metal",
"rlx-voxtral/metal",
"rlx-voxtral-tts/metal",
"rlx-wav2vec2-bert/metal",
"rlx-whisper/metal",
]
mlx = [
"rlx-runtime/mlx",
"dep:rlx-mlx",
"rlx-bert/mlx",
"rlx-clinicalbert/mlx",
"rlx-bonsai/mlx",
"rlx-cohere/mlx",
"rlx-dinov2/mlx",
"rlx-embed/mlx",
"rlx-flux2/mlx",
"rlx-gemma/mlx",
"rlx-granite/mlx",
"rlx-llada2/mlx",
"rlx-llama32/mlx",
"rlx-lfm/mlx",
"rlx-locateanything/mlx",
"rlx-minicpm5/mlx",
"rlx-mistral/mlx",
"rlx-neutts/mlx",
"rlx-kittentts/mlx",
"rlx-nomic/mlx",
"rlx-ocr/mlx",
"rlx-omnicoder/mlx",
"rlx-phi/mlx",
"rlx-qwen3/mlx",
"rlx-qwen3-tts/mlx",
"rlx-qwen35/mlx",
"rlx-sam/mlx",
"rlx-sam2/mlx",
"rlx-sam3/mlx",
"rlx-vision/mlx",
"rlx-vjepa2/mlx",
"rlx-voxtral/mlx",
"rlx-voxtral-tts/mlx",
"rlx-wav2vec2-bert/mlx",
"rlx-whisper/mlx",
]
nvidia-gpu = ["cuda"]
parity-candle = [
"dep:candle-core",
"dep:candle-nn",
"dep:candle-transformers",
"dep:image",
]
parity-gemm = ["rlx-cpu/parity-gemm"]
parity-llama = [
"dep:llama-cpp-2",
"rlx-qwen35/parity-llama",
]
parity-pytorch = []
portable-gpu = ["gpu"]
qwen35-tokenizer = ["rlx-qwen35/tokenizer"]
qwen35-vlm = ["rlx-qwen35/qwen35-vlm"]
rocm = [
"rlx-runtime/rocm",
"rlx-bert/rocm",
"rlx-clinicalbert/rocm",
"rlx-bonsai/rocm",
"rlx-cohere/rocm",
"rlx-dinov2/rocm",
"rlx-embed/rocm",
"rlx-flux2/rocm",
"rlx-gemma/rocm",
"rlx-granite/rocm",
"rlx-llada2/rocm",
"rlx-llama32/rocm",
"rlx-lfm/rocm",
"rlx-locateanything/rocm",
"rlx-minicpm5/rocm",
"rlx-mistral/rocm",
"rlx-neutts/rocm",
"rlx-kittentts/rocm",
"rlx-nomic/rocm",
"rlx-ocr/rocm",
"rlx-omnicoder/rocm",
"rlx-phi/rocm",
"rlx-qwen3/rocm",
"rlx-qwen3-tts/rocm",
"rlx-qwen35/rocm",
"rlx-sam/rocm",
"rlx-sam2/rocm",
"rlx-sam3/rocm",
"rlx-vision/rocm",
"rlx-vjepa2/rocm",
"rlx-voxtral/rocm",
"rlx-voxtral-tts/rocm",
"rlx-wav2vec2-bert/rocm",
"rlx-whisper/rocm",
]
tpu = ["rlx-runtime/tpu"]
vulkan = [
"rlx-runtime/vulkan",
"rlx-bert/vulkan",
"rlx-clinicalbert/vulkan",
"rlx-bonsai/vulkan",
"rlx-cohere/vulkan",
"rlx-dinov2/vulkan",
"rlx-embed/vulkan",
"rlx-flux2/vulkan",
"rlx-gemma/vulkan",
"rlx-granite/vulkan",
"rlx-llada2/vulkan",
"rlx-llama32/vulkan",
"rlx-lfm/vulkan",
"rlx-locateanything/vulkan",
"rlx-minicpm5/vulkan",
"rlx-mistral/vulkan",
"rlx-neutts/vulkan",
"rlx-nomic/vulkan",
"rlx-ocr/vulkan",
"rlx-omnicoder/vulkan",
"rlx-phi/vulkan",
"rlx-qwen3/vulkan",
"rlx-qwen3-tts/vulkan",
"rlx-qwen35/vulkan",
"rlx-sam/vulkan",
"rlx-sam2/vulkan",
"rlx-sam3/vulkan",
"rlx-vision/vulkan",
"rlx-vjepa2/vulkan",
"rlx-voxtral/vulkan",
"rlx-voxtral-tts/vulkan",
"rlx-wav2vec2-bert/vulkan",
"rlx-whisper/vulkan",
]
[lib]
name = "rlx_models"
path = "src/lib.rs"
[[bin]]
name = "rlx-run"
path = "src/bin/rlx_run.rs"
[[example]]
name = "gguf_qwen3_probe"
path = "examples/gguf_qwen3_probe.rs"
[[example]]
name = "gguf_tensor_list"
path = "examples/gguf_tensor_list.rs"
[[example]]
name = "llada2_compare"
path = "examples/llada2_compare.rs"
[[example]]
name = "llada2_download"
path = "examples/llada2_download.rs"
required-features = ["hf-download"]
[[example]]
name = "llada2_e2e_compare"
path = "examples/llada2_e2e_compare.rs"
[[example]]
name = "llada2_run"
path = "examples/llada2_run.rs"
[[example]]
name = "locateanything_bench"
path = "examples/locateanything_bench.rs"
[[example]]
name = "locateanything_download"
path = "examples/locateanything_download.rs"
required-features = ["hf-download"]
[[example]]
name = "locateanything_ground"
path = "examples/locateanything_ground.rs"
[[example]]
name = "minicpm5_download"
path = "examples/minicpm5_download.rs"
required-features = ["hf-download"]
[[example]]
name = "minicpm5_forward_bench"
path = "examples/minicpm5_forward_bench.rs"
[[example]]
name = "minicpm5_gguf_download"
path = "examples/minicpm5_gguf_download.rs"
required-features = ["hf-download"]
[[example]]
name = "qwen35_compare"
path = "examples/qwen35_compare.rs"
[[example]]
name = "qwen35_compare_reference"
path = "examples/qwen35_compare_reference.rs"
[[example]]
name = "qwen35_forward_bench"
path = "examples/qwen35_forward_bench.rs"
[[example]]
name = "qwen3_demo"
path = "examples/qwen3_demo.rs"
[[example]]
name = "qwen3_forward_bench"
path = "examples/qwen3_forward_bench.rs"
[[example]]
name = "qwen3_gguf_inference"
path = "examples/qwen3_gguf_inference.rs"
[[example]]
name = "qwen3_matrix"
path = "examples/qwen3_matrix.rs"
required-features = ["parity-candle"]
[[example]]
name = "qwen3_packed_inference"
path = "examples/qwen3_packed_inference.rs"
[[example]]
name = "qwen3_tts_bench"
path = "examples/qwen3_tts_bench.rs"
[[example]]
name = "qwen3_tts_cp_ab"
path = "examples/qwen3_tts_cp_ab.rs"
[[example]]
name = "qwen3_tts_download"
path = "examples/qwen3_tts_download.rs"
required-features = ["hf-download"]
[[example]]
name = "qwen3_tts_download_base"
path = "examples/qwen3_tts_download_base.rs"
required-features = ["hf-download"]
[[example]]
name = "qwen3_tts_fusion_ab"
path = "examples/qwen3_tts_fusion_ab.rs"
[[example]]
name = "qwen3_tts_jfk_manifest"
path = "examples/qwen3_tts_jfk_manifest.rs"
[[example]]
name = "qwen3_tts_rtf_bench"
path = "examples/qwen3_tts_rtf_bench.rs"
[[example]]
name = "qwen3_tts_session_bench"
path = "examples/qwen3_tts_session_bench.rs"
[[example]]
name = "register_custom_runner"
path = "examples/register_custom_runner.rs"
[[example]]
name = "run_dinov2"
path = "examples/run_dinov2.rs"
[[example]]
name = "run_minicpm5"
path = "examples/run_minicpm5.rs"
[[example]]
name = "run_qwen35"
path = "examples/run_qwen35.rs"
[[example]]
name = "run_qwen3_gguf"
path = "examples/run_qwen3_gguf.rs"
[[example]]
name = "run_qwen3_safetensors"
path = "examples/run_qwen3_safetensors.rs"
[[example]]
name = "run_sam1"
path = "examples/run_sam1.rs"
[[example]]
name = "run_sam2"
path = "examples/run_sam2.rs"
[[example]]
name = "run_sam3"
path = "examples/run_sam3.rs"
[[example]]
name = "sam3_attn_isolation"
path = "examples/sam3_attn_isolation.rs"
[[example]]
name = "sam3_batched_matmul_test"
path = "examples/sam3_batched_matmul_test.rs"
[[example]]
name = "sam3_batched_matmul_tiny"
path = "examples/sam3_batched_matmul_tiny.rs"
[[example]]
name = "sam3_bench"
path = "examples/sam3_bench.rs"
[[example]]
name = "sam3_decoder_backend_check"
path = "examples/sam3_decoder_backend_check.rs"
[[example]]
name = "sam3_decoder_profile"
path = "examples/sam3_decoder_profile.rs"
[[example]]
name = "sam3_encoder_bench"
path = "examples/sam3_encoder_bench.rs"
[[example]]
name = "skill_replacement"
path = "examples/skill_replacement.rs"
[[example]]
name = "voxtral_download"
path = "examples/voxtral_download.rs"
required-features = ["hf-download"]
[[example]]
name = "voxtral_tts_bench"
path = "examples/voxtral_tts_bench.rs"
[[example]]
name = "voxtral_tts_download"
path = "examples/voxtral_tts_download.rs"
required-features = ["hf-download"]
[[example]]
name = "whisper_bench"
path = "examples/whisper_bench.rs"
[[test]]
name = "auto_runner_parity"
path = "tests/auto_runner_parity.rs"
[[test]]
name = "compile_profile_quick_check"
path = "tests/compile_profile_quick_check.rs"
[[test]]
name = "compile_support"
path = "tests/compile_support.rs"
[[test]]
name = "diamond_methods"
path = "tests/diamond_methods.rs"
[[test]]
name = "diamond_unit"
path = "tests/diamond_unit.rs"
[[test]]
name = "dinov2_parity"
path = "tests/dinov2_parity.rs"
[[test]]
name = "flux2_cfg_cuda_check"
path = "tests/flux2_cfg_cuda_check.rs"
[[test]]
name = "flux2_denoiser_cuda_check"
path = "tests/flux2_denoiser_cuda_check.rs"
[[test]]
name = "flux2_denoiser_gpu_check"
path = "tests/flux2_denoiser_gpu_check.rs"
[[test]]
name = "flux2_denoiser_metal_check"
path = "tests/flux2_denoiser_metal_check.rs"
[[test]]
name = "flux2_denoiser_mlx_check"
path = "tests/flux2_denoiser_mlx_check.rs"
[[test]]
name = "flux2_denoiser_rocm_check"
path = "tests/flux2_denoiser_rocm_check.rs"
[[test]]
name = "flux2_denoiser_vulkan_check"
path = "tests/flux2_denoiser_vulkan_check.rs"
[[test]]
name = "flux2_diamond_guidance"
path = "tests/flux2_diamond_guidance.rs"
[[test]]
name = "flux2_gguf_runner_quick_check"
path = "tests/flux2_gguf_runner_quick_check.rs"
[[test]]
name = "flux2_img2img_cuda_check"
path = "tests/flux2_img2img_cuda_check.rs"
[[test]]
name = "flux2_minimal"
path = "tests/flux2_minimal.rs"
[[test]]
name = "flux2_nvfp4_cuda_check"
path = "tests/flux2_nvfp4_cuda_check.rs"
[[test]]
name = "flux2_pipeline_quick_check"
path = "tests/flux2_pipeline_quick_check.rs"
[[test]]
name = "flux2_text_encoder_cuda_check"
path = "tests/flux2_text_encoder_cuda_check.rs"
[[test]]
name = "flux2_text_encoder_gpu_check"
path = "tests/flux2_text_encoder_gpu_check.rs"
[[test]]
name = "flux2_text_encoder_metal_check"
path = "tests/flux2_text_encoder_metal_check.rs"
[[test]]
name = "flux2_text_encoder_mlx_check"
path = "tests/flux2_text_encoder_mlx_check.rs"
[[test]]
name = "flux2_text_encoder_rocm_check"
path = "tests/flux2_text_encoder_rocm_check.rs"
[[test]]
name = "flux2_text_encoder_vulkan_check"
path = "tests/flux2_text_encoder_vulkan_check.rs"
[[test]]
name = "flux2_vae_cuda_check"
path = "tests/flux2_vae_cuda_check.rs"
[[test]]
name = "flux2_vae_metal_check"
path = "tests/flux2_vae_metal_check.rs"
[[test]]
name = "flux2_vae_mlx_check"
path = "tests/flux2_vae_mlx_check.rs"
[[test]]
name = "gemma_backend_quick_check"
path = "tests/gemma_backend_quick_check.rs"
[[test]]
name = "gemma_gpu_backend_parity"
path = "tests/gemma_gpu_backend_parity.rs"
[[test]]
name = "gemma_parity"
path = "tests/gemma_parity.rs"
[[test]]
name = "gguf_legacy_quant_matmul"
path = "tests/gguf_legacy_quant_matmul.rs"
[[test]]
name = "lfm_runner_quick_check"
path = "tests/lfm_runner_quick_check.rs"
[[test]]
name = "lfm_vl_runner_quick_check"
path = "tests/lfm_vl_runner_quick_check.rs"
[[test]]
name = "llada2_backend_parity"
path = "tests/llada2_backend_parity.rs"
[[test]]
name = "llada2_e2e_parity"
path = "tests/llada2_e2e_parity.rs"
[[test]]
name = "llada2_forward_check"
path = "tests/llada2_forward_check.rs"
[[test]]
name = "llada2_gate_parity"
path = "tests/llada2_gate_parity.rs"
[[test]]
name = "llada2_generate_parity"
path = "tests/llada2_generate_parity.rs"
[[test]]
name = "llada2_numerical_parity"
path = "tests/llada2_numerical_parity.rs"
[[test]]
name = "llama32_apple_parity"
path = "tests/llama32_apple_parity.rs"
[[test]]
name = "llama32_backend_gguf_parity"
path = "tests/llama32_backend_gguf_parity.rs"
[[test]]
name = "llama32_cuda_check"
path = "tests/llama32_cuda_check.rs"
[[test]]
name = "llama32_gpu_backend_parity"
path = "tests/llama32_gpu_backend_parity.rs"
[[test]]
name = "llama32_metal_check"
path = "tests/llama32_metal_check.rs"
[[test]]
name = "llama32_mlx_check"
path = "tests/llama32_mlx_check.rs"
[[test]]
name = "llama32_rocm_check"
path = "tests/llama32_rocm_check.rs"
[[test]]
name = "llama32_wgpu_check"
path = "tests/llama32_wgpu_check.rs"
[[test]]
name = "locateanything_checkpoint"
path = "tests/locateanything_checkpoint.rs"
[[test]]
name = "locateanything_hf_parity"
path = "tests/locateanything_hf_parity.rs"
[[test]]
name = "m4_stubs_real_arch"
path = "tests/m4_stubs_real_arch.rs"
[[test]]
name = "minicpm5_backend_gguf_check"
path = "tests/minicpm5_backend_gguf_check.rs"
[[test]]
name = "minicpm5_backend_parity"
path = "tests/minicpm5_backend_parity.rs"
[[test]]
name = "minicpm5_bench_report"
path = "tests/minicpm5_bench_report.rs"
[[test]]
name = "minicpm5_dequant_spot"
path = "tests/minicpm5_dequant_spot.rs"
[[test]]
name = "minicpm5_parity"
path = "tests/minicpm5_parity.rs"
[[test]]
name = "minicpm5_quant_matrix"
path = "tests/minicpm5_quant_matrix.rs"
[[test]]
name = "minimax_runner_quick_check"
path = "tests/minimax_runner_quick_check.rs"
[[test]]
name = "nemotron_hybrid_runner_quick_check"
path = "tests/nemotron_hybrid_runner_quick_check.rs"
[[test]]
name = "nemotron_omni_runner_quick_check"
path = "tests/nemotron_omni_runner_quick_check.rs"
[[test]]
name = "qwen35_backend_gguf_bench"
path = "tests/qwen35_backend_gguf_bench.rs"
[[test]]
name = "qwen35_backend_gguf_check"
path = "tests/qwen35_backend_gguf_check.rs"
[[test]]
name = "qwen35_backend_quick_check"
path = "tests/qwen35_backend_quick_check.rs"
[[test]]
name = "qwen35_batch_gguf_bench"
path = "tests/qwen35_batch_gguf_bench.rs"
[[test]]
name = "qwen35_batch_gguf_quick_check"
path = "tests/qwen35_batch_gguf_quick_check.rs"
[[test]]
name = "qwen35_cuda_check"
path = "tests/qwen35_cuda_check.rs"
[[test]]
name = "qwen35_decode_parity"
path = "tests/qwen35_decode_parity.rs"
[[test]]
name = "qwen35_dequant_spot"
path = "tests/qwen35_dequant_spot.rs"
[[test]]
name = "qwen35_forward_check"
path = "tests/qwen35_forward_check.rs"
[[test]]
name = "qwen35_gguf_support"
path = "tests/qwen35_gguf_support.rs"
[[test]]
name = "qwen35_gguf_vocab_shape"
path = "tests/qwen35_gguf_vocab_shape.rs"
[[test]]
name = "qwen35_llama_parity"
path = "tests/qwen35_llama_parity.rs"
[[test]]
name = "qwen35_lm_head_isolate"
path = "tests/qwen35_lm_head_isolate.rs"
[[test]]
name = "qwen35_metal_check"
path = "tests/qwen35_metal_check.rs"
[[test]]
name = "qwen35_metal_dynamic_quick_check"
path = "tests/qwen35_metal_dynamic_quick_check.rs"
[[test]]
name = "qwen35_mlx_check"
path = "tests/qwen35_mlx_check.rs"
[[test]]
name = "qwen35_mlx_dynamic_quick_check"
path = "tests/qwen35_mlx_dynamic_quick_check.rs"
[[test]]
name = "qwen35_mlx_graph_dump"
path = "tests/qwen35_mlx_graph_dump.rs"
[[test]]
name = "qwen35_moe_expert_pool"
path = "tests/qwen35_moe_expert_pool.rs"
[[test]]
name = "qwen35_moe_expert_store"
path = "tests/qwen35_moe_expert_store.rs"
[[test]]
name = "qwen35_moe_offload_lossless"
path = "tests/qwen35_moe_offload_lossless.rs"
[[test]]
name = "qwen35_moe_per_layer_mask"
path = "tests/qwen35_moe_per_layer_mask.rs"
[[test]]
name = "qwen35_moe_quick_check"
path = "tests/qwen35_moe_quick_check.rs"
[[test]]
name = "qwen35_moe_topk_capture"
path = "tests/qwen35_moe_topk_capture.rs"
[[test]]
name = "qwen35_mtp_spec_e2e"
path = "tests/qwen35_mtp_spec_e2e.rs"
[[test]]
name = "qwen35_prefill_consistency"
path = "tests/qwen35_prefill_consistency.rs"
[[test]]
name = "qwen35_trunk_precision"
path = "tests/qwen35_trunk_precision.rs"
[[test]]
name = "qwen35_vlm_gguf_quick_check"
path = "tests/qwen35_vlm_gguf_quick_check.rs"
[[test]]
name = "qwen35_vlm_quick_check"
path = "tests/qwen35_vlm_quick_check.rs"
[[test]]
name = "qwen35_vocab_load"
path = "tests/qwen35_vocab_load.rs"
[[test]]
name = "qwen35_weight_shapes"
path = "tests/qwen35_weight_shapes.rs"
[[test]]
name = "qwen35_wgpu_quick_check"
path = "tests/qwen35_wgpu_quick_check.rs"
[[test]]
name = "qwen3_backend_quick_check"
path = "tests/qwen3_backend_quick_check.rs"
[[test]]
name = "qwen3_decode_embeds_metal_parity"
path = "tests/qwen3_decode_embeds_metal_parity.rs"
[[test]]
name = "qwen3_gpu_backend_parity"
path = "tests/qwen3_gpu_backend_parity.rs"
[[test]]
name = "qwen3_parity"
path = "tests/qwen3_parity.rs"
[[test]]
name = "qwen3_tts_backend_quick_check"
path = "tests/qwen3_tts_backend_quick_check.rs"
[[test]]
name = "qwen3_tts_codec_frame_fused_parity"
path = "tests/qwen3_tts_codec_frame_fused_parity.rs"
[[test]]
name = "qwen3_tts_cp_compiled_hidden"
path = "tests/qwen3_tts_cp_compiled_hidden.rs"
[[test]]
name = "qwen3_tts_cp_eager_dump"
path = "tests/qwen3_tts_cp_eager_dump.rs"
[[test]]
name = "qwen3_tts_cp_eager_vs_compiled"
path = "tests/qwen3_tts_cp_eager_vs_compiled.rs"
[[test]]
name = "qwen3_tts_cp_metal_bisect"
path = "tests/qwen3_tts_cp_metal_bisect.rs"
[[test]]
name = "qwen3_tts_cp_metal_upstream_repro"
path = "tests/qwen3_tts_cp_metal_upstream_repro.rs"
[[test]]
name = "qwen3_tts_cp_prefill_parity"
path = "tests/qwen3_tts_cp_prefill_parity.rs"
[[test]]
name = "qwen3_tts_debug_first"
path = "tests/qwen3_tts_debug_first.rs"
[[test]]
name = "qwen3_tts_embeds_diff"
path = "tests/qwen3_tts_embeds_diff.rs"
[[test]]
name = "qwen3_tts_hf_parity"
path = "tests/qwen3_tts_hf_parity.rs"
[[test]]
name = "qwen3_tts_layer0_attn"
path = "tests/qwen3_tts_layer0_attn.rs"
[[test]]
name = "qwen3_tts_layer0_intermediates"
path = "tests/qwen3_tts_layer0_intermediates.rs"
[[test]]
name = "qwen3_tts_layer0_isolate"
path = "tests/qwen3_tts_layer0_isolate.rs"
[[test]]
name = "qwen3_tts_layer0_qk"
path = "tests/qwen3_tts_layer0_qk.rs"
[[test]]
name = "qwen3_tts_layer1_isolate"
path = "tests/qwen3_tts_layer1_isolate.rs"
[[test]]
name = "qwen3_tts_layer2_isolate"
path = "tests/qwen3_tts_layer2_isolate.rs"
[[test]]
name = "qwen3_tts_mlx_greedy_parity"
path = "tests/qwen3_tts_mlx_greedy_parity.rs"
[[test]]
name = "qwen3_tts_one_decode"
path = "tests/qwen3_tts_one_decode.rs"
[[test]]
name = "qwen3_tts_speech_decode_golden"
path = "tests/qwen3_tts_speech_decode_golden.rs"
[[test]]
name = "qwen3_tts_speech_pt_mlx_parity"
path = "tests/qwen3_tts_speech_pt_mlx_parity.rs"
[[test]]
name = "qwen3_tts_talker_eager_vs_compiled"
path = "tests/qwen3_tts_talker_eager_vs_compiled.rs"
[[test]]
name = "qwen3_tts_talker_layers"
path = "tests/qwen3_tts_talker_layers.rs"
[[test]]
name = "qwen3_tts_whisper_roundtrip"
path = "tests/qwen3_tts_whisper_roundtrip.rs"
[[test]]
name = "qwen3_vl_runner_quick_check"
path = "tests/qwen3_vl_runner_quick_check.rs"
[[test]]
name = "real_weights_bonsai_stub"
path = "tests/real_weights_bonsai_stub.rs"
[[test]]
name = "real_weights_gemma3"
path = "tests/real_weights_gemma3.rs"
[[test]]
name = "real_weights_llama32_1b"
path = "tests/real_weights_llama32_1b.rs"
[[test]]
name = "real_weights_minicpm5"
path = "tests/real_weights_minicpm5.rs"
[[test]]
name = "real_weights_qwen25"
path = "tests/real_weights_qwen25.rs"
[[test]]
name = "real_weights_smollm2"
path = "tests/real_weights_smollm2.rs"
[[test]]
name = "sam2_parity"
path = "tests/sam2_parity.rs"
[[test]]
name = "sam3_parity"
path = "tests/sam3_parity.rs"
[[test]]
name = "sam_cross_backend"
path = "tests/sam_cross_backend.rs"
[[test]]
name = "sam_parity"
path = "tests/sam_parity.rs"
[[test]]
name = "sam_timing"
path = "tests/sam_timing.rs"
[[test]]
name = "tide_parity"
path = "tests/tide_parity.rs"
[[test]]
name = "tpu_real_minilm"
path = "tests/tpu_real_minilm.rs"
[[test]]
name = "vision_gguf_compile"
path = "tests/vision_gguf_compile.rs"
[[test]]
name = "vision_gguf_load"
path = "tests/vision_gguf_load.rs"
[[test]]
name = "vjepa2_check"
path = "tests/vjepa2_check.rs"
[[test]]
name = "vjepa2_cuda_check"
path = "tests/vjepa2_cuda_check.rs"
[[test]]
name = "vjepa2_gpu_check"
path = "tests/vjepa2_gpu_check.rs"
[[test]]
name = "vjepa2_metal_check"
path = "tests/vjepa2_metal_check.rs"
[[test]]
name = "vjepa2_mlx_check"
path = "tests/vjepa2_mlx_check.rs"
[[test]]
name = "vjepa2_rocm_check"
path = "tests/vjepa2_rocm_check.rs"
[[test]]
name = "voxtral_hf_parity"
path = "tests/voxtral_hf_parity.rs"
[[test]]
name = "voxtral_tts_codec"
path = "tests/voxtral_tts_codec.rs"
[[test]]
name = "voxtral_tts_encoder_seed"
path = "tests/voxtral_tts_encoder_seed.rs"
[[test]]
name = "voxtral_tts_native_parity"
path = "tests/voxtral_tts_native_parity.rs"
[[test]]
name = "voxtral_tts_parity"
path = "tests/voxtral_tts_parity.rs"
[[test]]
name = "wav2vec2_bert_gpu_check"
path = "tests/wav2vec2_bert_gpu_check.rs"
[[test]]
name = "wav2vec2_bert_hf_parity"
path = "tests/wav2vec2_bert_hf_parity.rs"
[[test]]
name = "wav2vec2_bert_metal_check"
path = "tests/wav2vec2_bert_metal_check.rs"
[[test]]
name = "wav2vec2_bert_mlx_check"
path = "tests/wav2vec2_bert_mlx_check.rs"
[[test]]
name = "wav2vec2_bert_preprocess_parity"
path = "tests/wav2vec2_bert_preprocess_parity.rs"
[[test]]
name = "wav2vec2_bert_vulkan_check"
path = "tests/wav2vec2_bert_vulkan_check.rs"
[[test]]
name = "whisper_backend_parity"
path = "tests/whisper_backend_parity.rs"
[[test]]
name = "whisper_decode_path_parity"
path = "tests/whisper_decode_path_parity.rs"
[[test]]
name = "whisper_greedy_tokens"
path = "tests/whisper_greedy_tokens.rs"
[[test]]
name = "whisper_jfk_e2e"
path = "tests/whisper_jfk_e2e.rs"
[[test]]
name = "whisper_parity"
path = "tests/whisper_parity.rs"
[[test]]
name = "whisper_real_encoder_parity"
path = "tests/whisper_real_encoder_parity.rs"
[[test]]
name = "whisper_wgpu_gpu_kv"
path = "tests/whisper_wgpu_gpu_kv.rs"
[[bench]]
name = "dinov2_vs_candle"
path = "benches/dinov2_vs_candle.rs"
harness = false
required-features = ["parity-candle"]
[[bench]]
name = "minicpm5_inference"
path = "benches/minicpm5_inference.rs"
harness = false
[[bench]]
name = "qwen3_inference"
path = "benches/qwen3_inference.rs"
harness = false
[[bench]]
name = "sam_vs_candle"
path = "benches/sam_vs_candle.rs"
harness = false
required-features = ["parity-candle"]
[dependencies.anyhow]
version = "1"
[dependencies.bytemuck]
version = "1"
features = ["derive"]
[dependencies.candle-core]
version = "0.10.2"
optional = true
default-features = false
[dependencies.candle-nn]
version = "0.10.2"
optional = true
[dependencies.candle-transformers]
version = "0.10.2"
optional = true
[dependencies.half]
version = "2"
features = ["bytemuck"]
[dependencies.hf-hub]
version = "0.5"
features = ["ureq"]
optional = true
default-features = false
[dependencies.hound]
version = "3.5"
[dependencies.image]
version = "0.25"
features = [
"jpeg",
"png",
]
optional = true
default-features = false
[dependencies.llama-cpp-2]
version = "0.1.146"
features = ["openmp"]
optional = true
default-features = false
[dependencies.rlx-bert]
version = "0.2.5"
[dependencies.rlx-bonsai]
version = "0.2.5"
[dependencies.rlx-cli]
version = "0.2.5"
[dependencies.rlx-clinicalbert]
version = "0.2.5"
[dependencies.rlx-cohere]
version = "0.2.5"
[dependencies.rlx-core]
version = "0.2.5"
package = "rlx-models-core"
[dependencies.rlx-cpu]
version = "=0.2.5"
[dependencies.rlx-diamond]
version = "0.2.5"
[dependencies.rlx-dinov2]
version = "0.2.5"
[dependencies.rlx-embed]
version = "0.2.5"
[dependencies.rlx-flow]
version = "=0.2.5"
[dependencies.rlx-flux2]
version = "0.2.5"
[dependencies.rlx-gemma]
version = "0.2.5"
[dependencies.rlx-gguf]
version = "=0.2.5"
[dependencies.rlx-granite]
version = "0.2.5"
[dependencies.rlx-ir]
version = "=0.2.5"
[dependencies.rlx-kittentts]
version = "0.2.5"
[dependencies.rlx-lfm]
version = "0.2.5"
[dependencies.rlx-llada2]
version = "0.2.5"
[dependencies.rlx-llama-base]
version = "0.2.5"
[dependencies.rlx-llama32]
version = "0.2.5"
[dependencies.rlx-locateanything]
version = "0.2.5"
[dependencies.rlx-metal]
version = "=0.2.5"
optional = true
[dependencies.rlx-minicpm5]
version = "0.2.5"
features = ["tokenizer"]
[dependencies.rlx-mistral]
version = "0.2.5"
[dependencies.rlx-mlx]
version = "=0.2.5"
optional = true
[dependencies.rlx-neutts]
version = "0.2.5"
[dependencies.rlx-nomic]
version = "0.2.5"
[dependencies.rlx-ocr]
version = "0.2.5"
[dependencies.rlx-omnicoder]
version = "0.2.5"
[dependencies.rlx-opt]
version = "=0.2.5"
[dependencies.rlx-phi]
version = "0.2.5"
[dependencies.rlx-qwen3]
version = "0.2.5"
[dependencies.rlx-qwen3-tts]
version = "0.2.5"
[dependencies.rlx-qwen35]
version = "0.2.5"
[dependencies.rlx-runtime]
version = "=0.2.5"
features = ["cpu"]
default-features = false
[dependencies.rlx-sam]
version = "0.2.5"
[dependencies.rlx-sam-ir]
version = "0.2.5"
[dependencies.rlx-sam2]
version = "0.2.5"
[dependencies.rlx-sam3]
version = "0.2.5"
[dependencies.rlx-tensor]
version = "0.2.5"
[dependencies.rlx-vad]
version = "0.2.5"
[dependencies.rlx-vision]
version = "0.2.5"
[dependencies.rlx-vjepa2]
version = "0.2.5"
[dependencies.rlx-voxtral]
version = "0.2.5"
[dependencies.rlx-voxtral-tts]
version = "0.2.5"
[dependencies.rlx-wav2vec2-bert]
version = "0.2.5"
[dependencies.rlx-whisper]
version = "0.2.5"
features = ["tokenizer"]
[dependencies.safetensors]
version = "0.7"
[dependencies.serde]
version = "1"
features = ["derive"]
[dependencies.serde_json]
version = "1"
[dependencies.tokenizers]
version = "0.22"
features = ["onig"]
optional = true
default-features = false
[dev-dependencies.criterion]
version = "0.5"
features = ["html_reports"]
[dev-dependencies.image]
version = "0.25"
features = [
"jpeg",
"png",
]
default-features = false
[dev-dependencies.ndarray]
version = "0.16"
[dev-dependencies.rlx-lfm-vl]
version = "0.2.5"
[dev-dependencies.rlx-nemotron-omni]
version = "0.2.5"
[dev-dependencies.rlx-opt]
version = "=0.2.5"
[dev-dependencies.rlx-qwen3-vl]
version = "0.2.5"
[dev-dependencies.rlx-ssm]
version = "0.2.5"
[dev-dependencies.rlx-vad]
version = "0.2.5"
[dev-dependencies.rlx-vlm-base]
version = "0.2.5"
[dev-dependencies.rlx-whisper]
version = "0.2.5"
features = ["tokenizer"]
[lints.clippy]
manual_range_contains = "allow"
needless_range_loop = "allow"
too_many_arguments = "allow"
upper_case_acronyms = "allow"
[lints.clippy.all]
level = "warn"
priority = -1
[lints.rust.unused]
level = "warn"
priority = 0