Deterministic hardware-aware LLM runtime and planning stack focused on:
ARC is built to make execution plans explicit, storage-tier decisions observable, and long-context inference reproducible.
--seed, --min-new-tokens, --max-tokens).Large-scale viability still depends on physical limits: GPU compute, PCIe bandwidth, NVMe throughput/latency, and model architecture sparsity.
cargo, stable toolchain)io_uring supportnvidia-smi, nvcc)RLIMIT_MEMLOCK for pinned-memory pathscargo check
cargo test -p arc-runtime
cargo test -p arc-algorithms
Binary: arc-core
cargo run --
Runs hardware discovery, validation, and emits a full report.
cargo run -- --discover-only
cargo run -- --json
cargo run -- --quiet
cargo run -- --load-model /absolute/path/to/model-dir
cargo run -- --load-model-json '{"model_type":"llama","num_hidden_layers":32,...}'
cargo run -- --run HuggingFaceTB/SmolLM2-135M-Instruct
cargo run -- --run HuggingFaceTB/SmolLM2-135M-Instruct \
--prompt "Write one short sentence about deterministic inference." \
--seed 0 \
--min-new-tokens 8 \
--max-tokens 64
cargo run -- --run HuggingFaceTB/SmolLM2-135M-Instruct \
--prompt-file /absolute/path/to/prompt.txt \
--seed 0 \
--min-new-tokens 8 \
--max-tokens 64
cargo run -- --run HuggingFaceTB/SmolLM2-135M-Instruct \
--prompt-file /absolute/path/to/prompt.txt \
--target-context-tokens 262144 \
--seed 0 \
--min-new-tokens 8 \
--max-tokens 64
cargo run -- --run HuggingFaceTB/SmolLM2-135M-Instruct \
--prompt-file /absolute/path/to/prompt.txt \
--target-context-tokens 262144 \
--max-prefill-chunk 8192 \
--kv-vram-budget-bytes 4294967296 \
--kv-ram-budget-bytes 34359738368 \
--prefix-cache-refs 500000 \
--session-id 101 \
--seed 0 \
--min-new-tokens 8 \
--max-tokens 64
--prompt <text>: prompt string for generation.--prompt-file <path>: read prompt text from file (recommended for very long prompts).--seed <u64>: deterministic sampling seed.--min-new-tokens <n>: enforce minimum generation before EOS can stop decode.--max-tokens <n>: cap newly generated token count.--target-context-tokens <n>: target context size for KV allocation/scratch sizing, clamped to model max context.--max-prefill-chunk <n>: upper-bound prefill scratch sizing (defaults to prompt/context-driven value).--kv-vram-budget-bytes <n>: KV VRAM budget override in bytes (otherwise auto-derived from remaining VRAM).--kv-ram-budget-bytes <n>: KV RAM budget override in bytes (otherwise auto-derived from detected system RAM).--prefix-cache-refs <n>: prefix-cache capacity in KV block references.--session-id <u64>: explicit non-zero session identifier for per-session tracking.Script: scripts/progressive_e2e_sweep.sh
./scripts/progressive_e2e_sweep.sh --dry-run
./scripts/progressive_e2e_sweep.sh \
--models HuggingFaceTB/SmolLM2-135M-Instruct,Qwen/Qwen2.5-0.5B-Instruct \
--prompt "Give one sentence about deterministic sparse inference." \
--seed 0 \
--min-new-tokens 8 \
--max-tokens 64
./scripts/progressive_e2e_sweep.sh \
--models HuggingFaceTB/SmolLM2-135M-Instruct \
--seed 0 \
--min-new-tokens 8 \
--max-tokens 64 \
--purge-cache
--model <id> (repeatable)--models <a,b,c> (replaces defaults)--prompt <text>--min-new-tokens <n>--max-tokens <n>--seed <u64>--log-dir <path>--purge-cache--dry-runThe harness validates logs for Generated N tokens and fails on missing/zero generation.
Some integration tests can now run in strict live mode.
ARC_ALLOW_HF_SKIP=1Examples:
cargo test -p arc-algorithms --test mega_model_partitioning_tests -- --nocapture
ARC_ALLOW_HF_SKIP=1 cargo test -p arc-algorithms --test mega_model_partitioning_tests -- --nocapture
New strict live matrix test:
cargo test -p arc-algorithms --test live_hf_matrix_tests -- --nocapture
This suite validates:
resolve_model against live Hugging Face metadataconfig.json download and parseVRAM + RAM + NVMe fractions sum to 1)Optional large-model matrix (live metadata/config fetch, best-effort):
ARC_ENABLE_HF_LARGE_MATRIX=1 cargo test -p arc-algorithms --test live_hf_matrix_tests live_hf_large_matrix_opt_in -- --nocapture
Optional custom large model list (comma separated):
ARC_ENABLE_HF_LARGE_MATRIX=1 ARC_HF_LARGE_MATRIX_MODELS="deepseek-ai/DeepSeek-R1,zai-org/GLM-5-FP8" cargo test -p arc-algorithms --test live_hf_matrix_tests live_hf_large_matrix_opt_in -- --nocapture
For very large models, use staged bring-up:
run_logs/ for postmortem and regression comparisons.Use this profile for real NVMe-streamed runs on Linux + NVIDIA.
sm_120 required stack (RTX 50xx)For cc12.0/sm_120 GPUs (RTX 5060 Ti / 5070 / 5080 / 5090), ARC expects:
TRITON_ATTN attention backend (FlashAttention classic is unsupported)awq_marlin instead of awqgptq / bitsandbytes (bnb) on sm_120ARC now applies these rules during --run:
awq is auto-upgraded to awq_marlinfloat16 dtype is upgraded to bfloat16sm_120 fail fast with a clear errorFor ultra-long context and deep reasoning bring-up, ARC also supports:
--deep-reasoning-profile (auto floor of 2,000,000 context tokens)--allow-capacity-risk (bypass extreme-scale admission blockers; not recommended)ARC now treats extreme-scale feasibility as an NVMe-footprint problem first:
This means runs may proceed slowly under constrained bandwidth, but they are not rejected unless NVMe capacity is insufficient.
nvidia-smi
uname -a
ulimit -l
cargo check
cargo test -p arc-runtime transfer::tests:: -- --nocapture
cargo run -- --run HuggingFaceTB/SmolLM2-135M-Instruct \
--prompt "Write one concise sentence about deterministic sparse inference." \
--seed 0 \
--min-new-tokens 8 \
--max-tokens 64
./scripts/progressive_e2e_sweep.sh \
--models HuggingFaceTB/SmolLM2-135M-Instruct,Qwen/Qwen2.5-0.5B-Instruct \
--prompt "Give one sentence about deterministic sparse inference." \
--seed 0 \
--min-new-tokens 8 \
--max-tokens 64
Script: scripts/linux_sm120_stress.sh
./scripts/linux_sm120_stress.sh \
--model Qwen/Qwen2.5-0.5B-Instruct \
--iterations 3 \
--seed 0 \
--min-new-tokens 16 \
--max-tokens 128 \
--prompt-chars 32768
This harness runs repeated --run executions with a generated long prompt, writes per-run logs into run_logs/, and fails fast when:
sm_120 stack is blocked during runtime checksUse this when preparing trillion-scale or million-token workflows:
cargo run -- --run deepseek-ai/DeepSeek-V3 \
--prompt-file /path/to/very_long_prompt.txt \
--min-new-tokens 1000000 \
--max-tokens 1000000 \
--deep-reasoning-profile \
--min-target-tok-s 0.001
If ARC reports a hard blocker (insufficient NVMe capacity for required model+KV footprint), it exits non-zero by default. You can force best-effort mode only for experimentation:
cargo run -- --run deepseek-ai/DeepSeek-V3 \
--prompt-file /path/to/very_long_prompt.txt \
--min-new-tokens 1000000 \
--max-tokens 1000000 \
--deep-reasoning-profile \
--allow-capacity-risk
Generated N tokens with N > 0.sm_120: stack report shows BF16 + TRITON_ATTN and no blocked quantizer.--seed, --min-new-tokens, --max-tokens) fixed while tuning.run_logs/ artifacts.RLIMIT_MEMLOCK) and NVMe free space before each run.arc-execution-plan.json + arc-hardware-resources.json as required diagnostics.This sequence is the intended path before attempting extreme-scale model bring-up.
run_logs/.arc-execution-plan.jsonarc-hardware-resources.jsondocs/progressive-e2e-validation.mdIMPORTANT_AGENT_CONTEXT.txt3 commits
Rust
98.5%
Metal
1.2%
Deterministic hardware-aware LLM runtime and planning stack focused on:
ARC is built to make execution plans explicit, storage-tier decisions observable, and long-context inference reproducible.
--seed, --min-new-tokens, --max-tokens).Large-scale viability still depends on physical limits: GPU compute, PCIe bandwidth, NVMe throughput/latency, and model architecture sparsity.
cargo, stable toolchain)io_uring supportnvidia-smi, nvcc)RLIMIT_MEMLOCK for pinned-memory pathscargo check
cargo test -p arc-runtime
cargo test -p arc-algorithms
Binary: arc-core
cargo run --
Runs hardware discovery, validation, and emits a full report.
cargo run -- --discover-only
cargo run -- --json
cargo run -- --quiet
cargo run -- --load-model /absolute/path/to/model-dir
cargo run -- --load-model-json '{"model_type":"llama","num_hidden_layers":32,...}'
cargo run -- --run HuggingFaceTB/SmolLM2-135M-Instruct
cargo run -- --run HuggingFaceTB/SmolLM2-135M-Instruct \
--prompt "Write one short sentence about deterministic inference." \
--seed 0 \
--min-new-tokens 8 \
--max-tokens 64
cargo run -- --run HuggingFaceTB/SmolLM2-135M-Instruct \
--prompt-file /absolute/path/to/prompt.txt \
--seed 0 \
--min-new-tokens 8 \
--max-tokens 64
cargo run -- --run HuggingFaceTB/SmolLM2-135M-Instruct \
--prompt-file /absolute/path/to/prompt.txt \
--target-context-tokens 262144 \
--seed 0 \
--min-new-tokens 8 \
--max-tokens 64
cargo run -- --run HuggingFaceTB/SmolLM2-135M-Instruct \
--prompt-file /absolute/path/to/prompt.txt \
--target-context-tokens 262144 \
--max-prefill-chunk 8192 \
--kv-vram-budget-bytes 4294967296 \
--kv-ram-budget-bytes 34359738368 \
--prefix-cache-refs 500000 \
--session-id 101 \
--seed 0 \
--min-new-tokens 8 \
--max-tokens 64
--prompt <text>: prompt string for generation.--prompt-file <path>: read prompt text from file (recommended for very long prompts).--seed <u64>: deterministic sampling seed.--min-new-tokens <n>: enforce minimum generation before EOS can stop decode.--max-tokens <n>: cap newly generated token count.--target-context-tokens <n>: target context size for KV allocation/scratch sizing, clamped to model max context.--max-prefill-chunk <n>: upper-bound prefill scratch sizing (defaults to prompt/context-driven value).--kv-vram-budget-bytes <n>: KV VRAM budget override in bytes (otherwise auto-derived from remaining VRAM).--kv-ram-budget-bytes <n>: KV RAM budget override in bytes (otherwise auto-derived from detected system RAM).--prefix-cache-refs <n>: prefix-cache capacity in KV block references.--session-id <u64>: explicit non-zero session identifier for per-session tracking.Script: scripts/progressive_e2e_sweep.sh
./scripts/progressive_e2e_sweep.sh --dry-run
./scripts/progressive_e2e_sweep.sh \
--models HuggingFaceTB/SmolLM2-135M-Instruct,Qwen/Qwen2.5-0.5B-Instruct \
--prompt "Give one sentence about deterministic sparse inference." \
--seed 0 \
--min-new-tokens 8 \
--max-tokens 64
./scripts/progressive_e2e_sweep.sh \
--models HuggingFaceTB/SmolLM2-135M-Instruct \
--seed 0 \
--min-new-tokens 8 \
--max-tokens 64 \
--purge-cache
--model <id> (repeatable)--models <a,b,c> (replaces defaults)--prompt <text>--min-new-tokens <n>--max-tokens <n>--seed <u64>--log-dir <path>--purge-cache--dry-runThe harness validates logs for Generated N tokens and fails on missing/zero generation.
Some integration tests can now run in strict live mode.
ARC_ALLOW_HF_SKIP=1Examples:
cargo test -p arc-algorithms --test mega_model_partitioning_tests -- --nocapture
ARC_ALLOW_HF_SKIP=1 cargo test -p arc-algorithms --test mega_model_partitioning_tests -- --nocapture
New strict live matrix test:
cargo test -p arc-algorithms --test live_hf_matrix_tests -- --nocapture
This suite validates:
resolve_model against live Hugging Face metadataconfig.json download and parseVRAM + RAM + NVMe fractions sum to 1)Optional large-model matrix (live metadata/config fetch, best-effort):
ARC_ENABLE_HF_LARGE_MATRIX=1 cargo test -p arc-algorithms --test live_hf_matrix_tests live_hf_large_matrix_opt_in -- --nocapture
Optional custom large model list (comma separated):
ARC_ENABLE_HF_LARGE_MATRIX=1 ARC_HF_LARGE_MATRIX_MODELS="deepseek-ai/DeepSeek-R1,zai-org/GLM-5-FP8" cargo test -p arc-algorithms --test live_hf_matrix_tests live_hf_large_matrix_opt_in -- --nocapture
For very large models, use staged bring-up:
run_logs/ for postmortem and regression comparisons.Use this profile for real NVMe-streamed runs on Linux + NVIDIA.
sm_120 required stack (RTX 50xx)For cc12.0/sm_120 GPUs (RTX 5060 Ti / 5070 / 5080 / 5090), ARC expects:
TRITON_ATTN attention backend (FlashAttention classic is unsupported)awq_marlin instead of awqgptq / bitsandbytes (bnb) on sm_120ARC now applies these rules during --run:
awq is auto-upgraded to awq_marlinfloat16 dtype is upgraded to bfloat16sm_120 fail fast with a clear errorFor ultra-long context and deep reasoning bring-up, ARC also supports:
--deep-reasoning-profile (auto floor of 2,000,000 context tokens)--allow-capacity-risk (bypass extreme-scale admission blockers; not recommended)ARC now treats extreme-scale feasibility as an NVMe-footprint problem first:
This means runs may proceed slowly under constrained bandwidth, but they are not rejected unless NVMe capacity is insufficient.
nvidia-smi
uname -a
ulimit -l
cargo check
cargo test -p arc-runtime transfer::tests:: -- --nocapture
cargo run -- --run HuggingFaceTB/SmolLM2-135M-Instruct \
--prompt "Write one concise sentence about deterministic sparse inference." \
--seed 0 \
--min-new-tokens 8 \
--max-tokens 64
./scripts/progressive_e2e_sweep.sh \
--models HuggingFaceTB/SmolLM2-135M-Instruct,Qwen/Qwen2.5-0.5B-Instruct \
--prompt "Give one sentence about deterministic sparse inference." \
--seed 0 \
--min-new-tokens 8 \
--max-tokens 64
Script: scripts/linux_sm120_stress.sh
./scripts/linux_sm120_stress.sh \
--model Qwen/Qwen2.5-0.5B-Instruct \
--iterations 3 \
--seed 0 \
--min-new-tokens 16 \
--max-tokens 128 \
--prompt-chars 32768
This harness runs repeated --run executions with a generated long prompt, writes per-run logs into run_logs/, and fails fast when:
sm_120 stack is blocked during runtime checksUse this when preparing trillion-scale or million-token workflows:
cargo run -- --run deepseek-ai/DeepSeek-V3 \
--prompt-file /path/to/very_long_prompt.txt \
--min-new-tokens 1000000 \
--max-tokens 1000000 \
--deep-reasoning-profile \
--min-target-tok-s 0.001
If ARC reports a hard blocker (insufficient NVMe capacity for required model+KV footprint), it exits non-zero by default. You can force best-effort mode only for experimentation:
cargo run -- --run deepseek-ai/DeepSeek-V3 \
--prompt-file /path/to/very_long_prompt.txt \
--min-new-tokens 1000000 \
--max-tokens 1000000 \
--deep-reasoning-profile \
--allow-capacity-risk
Generated N tokens with N > 0.sm_120: stack report shows BF16 + TRITON_ATTN and no blocked quantizer.--seed, --min-new-tokens, --max-tokens) fixed while tuning.run_logs/ artifacts.RLIMIT_MEMLOCK) and NVMe free space before each run.arc-execution-plan.json + arc-hardware-resources.json as required diagnostics.This sequence is the intended path before attempting extreme-scale model bring-up.
run_logs/.arc-execution-plan.jsonarc-hardware-resources.jsondocs/progressive-e2e-validation.mdIMPORTANT_AGENT_CONTEXT.txt3 commits
Rust
98.5%
Metal
1.2%