Store compactly. Use what is needed. Keep the source ready.
An AI model can contain many experts while using only some at a time. Horizon RunMap organizes how they are stored, computed and brought to the GPU, the part of the computer that performs these calculations. Explore the architecture, my engineering decisions and the recorded results.
Conceived and developed individually, with limited resources and no institutional funding.
Not everything needs to stay on the workbench at once. An analogy for memory.
01 / The idea
First, the idea. Then, the names.
The workbench
The GPU does the calculations. VRAM is the memory workspace it uses.
The warehouse
RAM keeps the complete, immutable source of the expert weights.
The tools
Experts are parts of the model. Each step uses a selection of them.
Imagine a workshop: the workbench has limited room and tools stay in storage. Here, each tool represents a set of model calculations.
Some AI models contain many experts. Each step uses a selection of them, but the complete model still needs somewhere to live.
Why does memory matter? Explore the large-model context
In MoE models, a selection of experts works on each token while the complete parameter set needs storage. Compare BF16 scale with each project’s published representation.
The scale of memory
The same model. Two memory scenarios.
GLM-5.3744 billion total parameters · 40 billion active per token
BF16 comparison
16 bits · 2 bytes per parameter
Estimated weight memory
≈ 1.49 TB
Mathematical minimum · weights only
9 B200
Capacity for execution planning
16 B200
2 servers with 8 GPUs
Calculated scenario reserving 20%–30% of total memory and using complete servers. Context and workload guide final sizing.
Published format
FP8 · 8 bits
Idealized weight memory
≈ 744 GB
Mathematical minimum · weights only
5 B200
Execution reference
8 B200 · documented configuration
The vLLM recipe describes FP8 weights and FP8 KV cache for up to 1 million context tokens. Concurrency is tuned to the memory budget.
FP8 is the default checkpoint; Z.ai also publishes a separate BF16 version.
The comparison assumes all weights reside in GPU memory, ideally distributed across devices. Weights ≈ total parameters × bits ÷ 8. Each B200 provides a nominal 180 GB; each server groups 8 GPUs, totaling 1.44 TB. GB and TB use decimal units.
Minimum GPUs = weights ÷ 180 GB, rounded up. Servers with headroom = weights ÷ (1.44 TB × 0.80) through weights ÷ (1.44 TB × 0.70), always rounded up. The reserve is a planning assumption selected for this comparison.
Calculations use rounded published parameter counts rather than actual file sizes. Scales, mixed-precision tensors, buffers, KV cache (context memory) and parallel layout contribute to the execution budget. GPU count and response speed are separate dimensions.
For GLM-5.3, we use Z.ai’s stated 744 billion total and 40 billion active parameters. The vLLM recipe describes approximately 743/39 billion; this difference leaves the rounded GPU counts unchanged in this comparison.
Frontier models show the scale of the memory and infrastructure challenge motivating Horizon RunMap. OLMoE and Qwen are the models used to investigate storage, transfer and execution on available hardware. Applying the architecture at larger scales requires separate validation; the rates below belong to the identified campaign.
Cost references per platform
Offers recorded on 2026-09-10, per platform or instance tier. The purchase and rental figures below have their own scope; a multi-server deployment also depends on networking and contracted services.
NVIDIA B200 (180 GB product) · recorded sources and estimates
GPU capacity, platform acquisition, rental, networking, electricity, cooling and operations are separate cost planes. This is not a complete quote, total cost of ownership or purchase recommendation.
02 / The question
Three decisions working together.
Which weights should be compressed, how should they be computed, and where should they live? Horizon addresses these decisions together. Full residency and expert offloading are operating regimes of this architecture.
I built a runtime — the software that coordinates model execution — bringing these three decisions together. Each appears below with its purpose and a path to the details.
01 / Store
Compact experts
INT4
Weights of routed experts stay compact in RAM and on the GPU. Attention, embeddings and other components remain outside this quantization.
Kernels are GPU computation routines. Horizon’s kernels use compact weights and convert the values needed during each operation, without retaining a complete expanded expert.
Resident means stored in GPU memory. Both cases use compact INT4/qpacked expert weights, and kernels receive FP16 activations — values computed by the previous stage. Each measurement identifies its executor.
Full residency
All routed experts remain on the GPU in compact form. This regime exercises compressed-expert execution without fetching missing copies during generation.
GPU memory
Partial residency
A subset of experts stays on the GPU. A requested missing copy arrives from RAM already quantized. Eviction releases only the GPU copy; the source in RAM stays ready for future use.
RAMComplete immutable source
Transfer stagingBounded, on the host
GPU memoryCached copies
Explore the technical details
In the partial-residency flow shown, the source of expert weights in RAM stays complete and immutable. A copy passes through bounded pinned host staging before transfer to the GPU. Eviction discards the GPU copy, with no transfer back or source writeback.
Residency is not activation: the cache may keep experts that this step does not use. This diagram explains organization; the campaign below measures partial and complete residency while preserving executor differences.
A copy enters the cache only when ready
Documented architecture · resident-qpacked-cache-v1 · ADR 0009. Original scope: experimental, default-off P0 Qwen. The executors measured below are described by their specific contracts.
Immutable source
The complete qpacked set stays in process RAM, with validated identity and layout.
Bounded staging
A temporary pinned arena prepares transfer. It becomes reusable only after completion.
Unpublished spare
The qpacked row reaches temporary GPU storage; readers still see the previous generation.
Atomic publication
After routed-group completion, one transition publishes the new complete cache generation.
Use and discard
Readers use a valid generation. An evicted copy is reused only after its consumers retire; the source is not rewritten.
Resource admission
Capacity is fixed before requests. Insufficient staging or spare capacity rejects startup; failures before publication preserve the previous generation.
Earlier profiles have a different contract: offload-qpacked materializes FP16/BF16 execution slots from a quantized source. In the qpacked cache described here, experts remain compact. The kernel converts the values needed during computation without retaining a complete expanded expert slot. That conversion does not recover information lost during quantization.
The OLMoE and Qwen campaign on an RTX 5070 records runs with full and partial residency. Its configurations show how the system operated within each memory, executor and workload contract.
Architecture in operation · Exploratory E3
Compact experts, executed with full or partial residency.
The records below identify the model, space for copies and executor. Rates describe text generation in each configuration.
Full residency
OLMoE 0924
Grouped T3 executes the compact experts, with all of them on the GPU during generation.
Highest measured residency for each model · RTX 5070 · 36 responses of 128 tokens per configuration. OLMoE and Qwen use different executors; each card describes its own run.
Exploratory E3
468
measured responses · campaign volume
39/39valid worker runs
13configurations
1h 50min 21scampaign duration
36 responses of 128 tokens per configuration · 12 prompts × 3 blocks · 39 warmups excluded from rates.
Decode divides the sum of tokens after the first by the sum of internal generation times. It is a pooled, time-weighted rate. First-token wait and response duration are request means, with internal boundaries specific to each executor.
Decode
37min 06s
Until first token
35min 10s
Other stages (by subtraction)
38min 05s
Observed relative block spread: 0.27%–4.78%. This is observed variation, not a confidence interval. Recorded maximum temperature: 58 °C.
The consolidation recorded matching token sequences between repetitions of each configuration. This observation describes within-configuration consistency; quality evaluation and output comparisons across configurations have their own scope. Other-stage time is calculated as the remainder of controller duration.
Tokens are small pieces of text, not always whole words.
05 / Memory & speed
More room on the workbench. What changes?
Choose a model and a measurement to explore the recorded configurations. Each group identifies its executor, the computation path used in that run.
E3 exploratorySep 11, 2026
36 responses per configuration · 128 tokens per response · 3 blocks
Hardware · NVIDIA GeForce RTX 5070, as recorded in the campaign; shared Windows desktop.
Post-first-token decode · tokens/s Pooled rate: Σ(tokens − 1) / Σ(internal decode time). Excludes first-token wait; not a mean of individual rates.
Measurements after warmup, with fixed prompts. Research scope
Resident experts per layer · discrete measurements, without interpolation or cross-model comparison.
PRODUCT-core scalar
30/6423.00 tokens/s
40/6427.69 tokens/s
50/6431.50 tokens/s
60/6435.01 tokens/s
Grouped T3 · different executor
Between c30–c60 (scalar) and c64 (Grouped T3), residency and executor change together. The speed difference isolates neither offloading cost nor kernel speedup.
64/6461.26 tokens/s
View all 13 configurations
The table includes every configuration. On narrow screens, scroll the table sideways.
September 11, 2026 campaign · 36 responses of 128 tokens per configuration · Exploratory E3 NVIDIA GeForce RTX 5070 (frozen campaign declaration); shared Windows desktop. Decode = Σ(tokens − 1) / Σ(internal decode time).
Pooled rate: sum of tokens after the first / sum of internal decode times. Excludes first-token wait, preparation and warm-up; not a mean of individual rates.
Model / revision
allenai/OLMoE-1B-7B-0924-Instruct
Executor
PRODUCT-core scalar
Storage / execution
INT4 / block 256 / FP16 scales. FP16 execution values from low-bit source; original checkpoint dtype is a separate plane.
Peak process RAM (whole worker)
4.95 GiB
RAM → GPU transfer (sum of measured responses)
1,108.10 GiB
Three block rates
23.12 / 23.14 / 22.74 tokens/s
Observed relative spread (not a confidence interval)
1.74%
Output rate including first-token wait
10.95 tokens/s
Hardware
NVIDIA GeForce RTX 5070, as recorded in the campaign; shared Windows desktop.
Run contract
PERF-REAL-v1; 12 prompts repeated in 3 blocks; 36 measured responses of 128 tokens per configuration; greedy selection, EOS suppressed; 64-token warmup excluded. Canonical initial placement, evolving LRU through fixed prompts; concurrency 1.
Pooled rate: sum of tokens after the first / sum of internal decode times. Excludes first-token wait, preparation and warm-up; not a mean of individual rates.
Model / revision
allenai/OLMoE-1B-7B-0924-Instruct
Executor
PRODUCT-core scalar
Storage / execution
INT4 / block 256 / FP16 scales. FP16 execution values from low-bit source; original checkpoint dtype is a separate plane.
Peak process RAM (whole worker)
4.95 GiB
RAM → GPU transfer (sum of measured responses)
576.17 GiB
Three block rates
27.76 / 27.63 / 27.69 tokens/s
Observed relative spread (not a confidence interval)
0.45%
Output rate including first-token wait
14.11 tokens/s
Hardware
NVIDIA GeForce RTX 5070, as recorded in the campaign; shared Windows desktop.
Run contract
PERF-REAL-v1; 12 prompts repeated in 3 blocks; 36 measured responses of 128 tokens per configuration; greedy selection, EOS suppressed; 64-token warmup excluded. Canonical initial placement, evolving LRU through fixed prompts; concurrency 1.
Pooled rate: sum of tokens after the first / sum of internal decode times. Excludes first-token wait, preparation and warm-up; not a mean of individual rates.
Model / revision
allenai/OLMoE-1B-7B-0924-Instruct
Executor
PRODUCT-core scalar
Storage / execution
INT4 / block 256 / FP16 scales. FP16 execution values from low-bit source; original checkpoint dtype is a separate plane.
Peak process RAM (whole worker)
4.95 GiB
RAM → GPU transfer (sum of measured responses)
230.88 GiB
Three block rates
31.75 / 31.57 / 31.19 tokens/s
Observed relative spread (not a confidence interval)
1.75%
Output rate including first-token wait
16.73 tokens/s
Hardware
NVIDIA GeForce RTX 5070, as recorded in the campaign; shared Windows desktop.
Run contract
PERF-REAL-v1; 12 prompts repeated in 3 blocks; 36 measured responses of 128 tokens per configuration; greedy selection, EOS suppressed; 64-token warmup excluded. Canonical initial placement, evolving LRU through fixed prompts; concurrency 1.
Pooled rate: sum of tokens after the first / sum of internal decode times. Excludes first-token wait, preparation and warm-up; not a mean of individual rates.
Model / revision
allenai/OLMoE-1B-7B-0924-Instruct
Executor
PRODUCT-core scalar
Storage / execution
INT4 / block 256 / FP16 scales. FP16 execution values from low-bit source; original checkpoint dtype is a separate plane.
Peak process RAM (whole worker)
4.96 GiB
RAM → GPU transfer (sum of measured responses)
37.62 GiB
Three block rates
35.47 / 34.72 / 34.85 tokens/s
Observed relative spread (not a confidence interval)
2.14%
Output rate including first-token wait
19.31 tokens/s
Hardware
NVIDIA GeForce RTX 5070, as recorded in the campaign; shared Windows desktop.
Run contract
PERF-REAL-v1; 12 prompts repeated in 3 blocks; 36 measured responses of 128 tokens per configuration; greedy selection, EOS suppressed; 64-token warmup excluded. Canonical initial placement, evolving LRU through fixed prompts; concurrency 1.
Campaign extract with original identifiers and source text in English. The full bundle and raw observations have separate availability.
OLMoE 0924 · 64/64 · Grouped T3 — contract and additional measurements
Metric
Pooled rate: sum of tokens after the first / sum of internal decode times. Excludes first-token wait, preparation and warm-up; not a mean of individual rates.
Model / revision
allenai/OLMoE-1B-7B-0924-Instruct
Executor
Grouped T3
Storage / execution
INT4 / block 256 / FP16 scales. FP16 execution values from low-bit source; original checkpoint dtype is a separate plane.
Peak process RAM (whole worker)
4.98 GiB
RAM → GPU transfer (sum of measured responses)
0.00 GiB
Three block rates
59.72 / 62.65 / 61.47 tokens/s
Observed relative spread (not a confidence interval)
4.78%
Output rate including first-token wait
45.41 tokens/s
Hardware
NVIDIA GeForce RTX 5070, as recorded in the campaign; shared Windows desktop.
Run contract
PERF-REAL-v1; 12 prompts repeated in 3 blocks; 36 measured responses of 128 tokens per configuration; greedy selection, EOS suppressed; 64-token warmup excluded. Canonical initial placement, evolving LRU through fixed prompts; concurrency 1.
Pooled rate: sum of tokens after the first / sum of internal decode times. Excludes first-token wait, preparation and warm-up; not a mean of individual rates.
Model / revision
allenai/OLMoE-1B-7B-0125-Instruct
Executor
PRODUCT-core scalar
Storage / execution
INT4 / block 256 / FP16 scales. FP16 execution values from low-bit source; original checkpoint dtype is a separate plane.
Peak process RAM (whole worker)
4.97 GiB
RAM → GPU transfer (sum of measured responses)
1,115.87 GiB
Three block rates
22.65 / 22.98 / 23.51 tokens/s
Observed relative spread (not a confidence interval)
3.74%
Output rate including first-token wait
11.05 tokens/s
Hardware
NVIDIA GeForce RTX 5070, as recorded in the campaign; shared Windows desktop.
Run contract
PERF-REAL-v1; 12 prompts repeated in 3 blocks; 36 measured responses of 128 tokens per configuration; greedy selection, EOS suppressed; 64-token warmup excluded. Canonical initial placement, evolving LRU through fixed prompts; concurrency 1.
Pooled rate: sum of tokens after the first / sum of internal decode times. Excludes first-token wait, preparation and warm-up; not a mean of individual rates.
Model / revision
allenai/OLMoE-1B-7B-0125-Instruct
Executor
PRODUCT-core scalar
Storage / execution
INT4 / block 256 / FP16 scales. FP16 execution values from low-bit source; original checkpoint dtype is a separate plane.
Peak process RAM (whole worker)
4.95 GiB
RAM → GPU transfer (sum of measured responses)
580.72 GiB
Three block rates
27.21 / 26.75 / 27.42 tokens/s
Observed relative spread (not a confidence interval)
2.47%
Output rate including first-token wait
13.90 tokens/s
Hardware
NVIDIA GeForce RTX 5070, as recorded in the campaign; shared Windows desktop.
Run contract
PERF-REAL-v1; 12 prompts repeated in 3 blocks; 36 measured responses of 128 tokens per configuration; greedy selection, EOS suppressed; 64-token warmup excluded. Canonical initial placement, evolving LRU through fixed prompts; concurrency 1.
Pooled rate: sum of tokens after the first / sum of internal decode times. Excludes first-token wait, preparation and warm-up; not a mean of individual rates.
Model / revision
allenai/OLMoE-1B-7B-0125-Instruct
Executor
PRODUCT-core scalar
Storage / execution
INT4 / block 256 / FP16 scales. FP16 execution values from low-bit source; original checkpoint dtype is a separate plane.
Peak process RAM (whole worker)
4.95 GiB
RAM → GPU transfer (sum of measured responses)
235.35 GiB
Three block rates
31.10 / 31.31 / 31.25 tokens/s
Observed relative spread (not a confidence interval)
0.66%
Output rate including first-token wait
16.71 tokens/s
Hardware
NVIDIA GeForce RTX 5070, as recorded in the campaign; shared Windows desktop.
Run contract
PERF-REAL-v1; 12 prompts repeated in 3 blocks; 36 measured responses of 128 tokens per configuration; greedy selection, EOS suppressed; 64-token warmup excluded. Canonical initial placement, evolving LRU through fixed prompts; concurrency 1.
Pooled rate: sum of tokens after the first / sum of internal decode times. Excludes first-token wait, preparation and warm-up; not a mean of individual rates.
Model / revision
allenai/OLMoE-1B-7B-0125-Instruct
Executor
PRODUCT-core scalar
Storage / execution
INT4 / block 256 / FP16 scales. FP16 execution values from low-bit source; original checkpoint dtype is a separate plane.
Peak process RAM (whole worker)
4.96 GiB
RAM → GPU transfer (sum of measured responses)
40.81 GiB
Three block rates
35.45 / 35.49 / 35.39 tokens/s
Observed relative spread (not a confidence interval)
0.27%
Output rate including first-token wait
19.54 tokens/s
Hardware
NVIDIA GeForce RTX 5070, as recorded in the campaign; shared Windows desktop.
Run contract
PERF-REAL-v1; 12 prompts repeated in 3 blocks; 36 measured responses of 128 tokens per configuration; greedy selection, EOS suppressed; 64-token warmup excluded. Canonical initial placement, evolving LRU through fixed prompts; concurrency 1.
Campaign extract with original identifiers and source text in English. The full bundle and raw observations have separate availability.
OLMoE 0125 · 64/64 · Grouped T3 — contract and additional measurements
Metric
Pooled rate: sum of tokens after the first / sum of internal decode times. Excludes first-token wait, preparation and warm-up; not a mean of individual rates.
Model / revision
allenai/OLMoE-1B-7B-0125-Instruct
Executor
Grouped T3
Storage / execution
INT4 / block 256 / FP16 scales. FP16 execution values from low-bit source; original checkpoint dtype is a separate plane.
Peak process RAM (whole worker)
4.96 GiB
RAM → GPU transfer (sum of measured responses)
0.00 GiB
Three block rates
62.69 / 61.39 / 62.15 tokens/s
Observed relative spread (not a confidence interval)
2.10%
Output rate including first-token wait
46.67 tokens/s
Hardware
NVIDIA GeForce RTX 5070, as recorded in the campaign; shared Windows desktop.
Run contract
PERF-REAL-v1; 12 prompts repeated in 3 blocks; 36 measured responses of 128 tokens per configuration; greedy selection, EOS suppressed; 64-token warmup excluded. Canonical initial placement, evolving LRU through fixed prompts; concurrency 1.
Campaign extract with original identifiers and source text in English. The full bundle and raw observations have separate availability.
Qwen · 20/60 · top4-fused-v1 — contract and additional measurements
Metric
Pooled rate: sum of tokens after the first / sum of internal decode times. Excludes first-token wait, preparation and warm-up; not a mean of individual rates.
Model / revision
Qwen/Qwen1.5-MoE-A2.7B-Chat
Executor
top4-fused-v1
Storage / execution
INT4 / block 256 / FP16 scales. FP16 execution values from low-bit source; original checkpoint dtype is a separate plane.
Peak process RAM (whole worker)
7.97 GiB
RAM → GPU transfer (sum of measured responses)
2,702.75 GiB
Three block rates
15.08 / 15.03 / 15.56 tokens/s
Observed relative spread (not a confidence interval)
3.49%
Output rate including first-token wait
7.21 tokens/s
Hardware
NVIDIA GeForce RTX 5070, as recorded in the campaign; shared Windows desktop.
Run contract
PERF-REAL-v1; 12 prompts repeated in 3 blocks; 36 measured responses of 128 tokens per configuration; greedy selection, EOS suppressed; 64-token warmup excluded. Canonical initial placement, evolving LRU through fixed prompts; concurrency 1.
Campaign extract with original identifiers and source text in English. The full bundle and raw observations have separate availability.
Qwen · 30/60 · top4-fused-v1 — contract and additional measurements
Metric
Pooled rate: sum of tokens after the first / sum of internal decode times. Excludes first-token wait, preparation and warm-up; not a mean of individual rates.
Model / revision
Qwen/Qwen1.5-MoE-A2.7B-Chat
Executor
top4-fused-v1
Storage / execution
INT4 / block 256 / FP16 scales. FP16 execution values from low-bit source; original checkpoint dtype is a separate plane.
Peak process RAM (whole worker)
7.99 GiB
RAM → GPU transfer (sum of measured responses)
1,852.07 GiB
Three block rates
17.45 / 17.02 / 17.04 tokens/s
Observed relative spread (not a confidence interval)
2.51%
Output rate including first-token wait
8.59 tokens/s
Hardware
NVIDIA GeForce RTX 5070, as recorded in the campaign; shared Windows desktop.
Run contract
PERF-REAL-v1; 12 prompts repeated in 3 blocks; 36 measured responses of 128 tokens per configuration; greedy selection, EOS suppressed; 64-token warmup excluded. Canonical initial placement, evolving LRU through fixed prompts; concurrency 1.
Campaign extract with original identifiers and source text in English. The full bundle and raw observations have separate availability.
Qwen · 39/60 · top4-fused-v1 — contract and additional measurements
Metric
Pooled rate: sum of tokens after the first / sum of internal decode times. Excludes first-token wait, preparation and warm-up; not a mean of individual rates.
Model / revision
Qwen/Qwen1.5-MoE-A2.7B-Chat
Executor
top4-fused-v1
Storage / execution
INT4 / block 256 / FP16 scales. FP16 execution values from low-bit source; original checkpoint dtype is a separate plane.
Peak process RAM (whole worker)
7.97 GiB
RAM → GPU transfer (sum of measured responses)
1,172.50 GiB
Three block rates
20.31 / 19.78 / 19.76 tokens/s
Observed relative spread (not a confidence interval)
2.74%
Output rate including first-token wait
10.52 tokens/s
Hardware
NVIDIA GeForce RTX 5070, as recorded in the campaign; shared Windows desktop.
Run contract
PERF-REAL-v1; 12 prompts repeated in 3 blocks; 36 measured responses of 128 tokens per configuration; greedy selection, EOS suppressed; 64-token warmup excluded. Canonical initial placement, evolving LRU through fixed prompts; concurrency 1.
Campaign extract with original identifiers and source text in English. The full bundle and raw observations have separate availability.
06 / Follow a token
A small piece of text. A sequence of decisions.
Tokens are small pieces of text. The model processes them through layers; routing selects the experts involved at each step. The runtime coordinates the resources that make this execution possible.
From input to response: follow how the work is organized. The next diagram shows what happens to expert copies. See hits, misses and eviction
Read the input
Text is split into tokens and processed by the model.
Select experts
Routing chooses experts at each routed layer.
Check the cache
A GPU copy can be used when present. On a miss, it arrives from RAM through staging.
Produce the next token
Layer calculations contribute to the next output. The process repeats.
07 / Back to the workshop
The warehouse stays intact.
The warehouse holds the complete set of experts. The workbench uses copies. Here are three situations handled by the same mechanism: the cache, which keeps copies ready in GPU memory.
One complete source. Copies to work with.
In every situation, the compact experts remain stored in RAM. This is the immutable source.
Hit
Use the ready copy
RAMSource intact
Already on GPU
GPUCopy available
The requested expert already has a ready copy on the workbench. Computation uses that copy.
The source stays intact; this lookup needs no new transfer of the expert.
Miss
Bring a copy
RAMSource intact
Copy to GPU
GPUCopy received
The requested copy comes from RAM through transfer staging. It becomes usable when transfer finishes and the new complete cache state is published.
The source stays ready in RAM, including after the transfer.
Eviction
Free space
RAMSource intact
Release on GPU
GPUCopy released
When it can safely be released, the copy leaves the workbench. Its location is reused only after the computations using that copy finish.
The source stays ready for another copy; weights do not need to return to the CPU.
Three possible situations, not a required sequence. The diagram explains the mechanism; quantities and timings are reported in each configuration’s results.Explore cache transfer and publication →
08 / Precision & quality
Precision is an engineering decision, too.
In the qpacked architecture presented here, routed expert weights remain compact INT4 in both RAM and GPU memory. Kernels use FP16 activations: W4A16 describes these two formats. Other model components stay outside this INT4 quantization.
The stored format, the format used during computation and the precision of accumulation are separate decisions. Compact weights are converted inside the kernel as computation needs them; the complete expert does not occupy a persistent expanded slot.
Store
W4: routed expert weights in INT4, with FP16 scales. The GPU cache retains that compact format.
Compute
A16: FP16 activations. Kernels convert weights during computation, with FP32 accumulation stages and explicit rounding. W4A16 alone does not describe all arithmetic.
Other components
Attention, embeddings, routing and other components stay outside INT4. In this campaign, non-routed weights are materialized in FP16 from the BF16 checkpoint.
09 / Related work
Different ways to share the memory.
Horizon sits in a wider field of memory management approaches. These projects move different units of work, use the CPU differently, and target different workloads.
This map compares architectural decisions: what each project stores, transfers and computes. Comparing runtime performance requires a dedicated experiment with comparable checkpoint, precision, hardware and workload.
HHorizon RunMapCompact experts and controlled copies
Residency
Partial or complete residency, depending on configuration and executor. Campaign capacities are per layer.
Storage precision
resident-qpacked-cache-v1 documents the source in RAM and GPU cache in qpacked format with a W4A16 path. offload-qpacked uses FP16/BF16 slots reconstructed from low-bit source; these are different mechanisms.
CPU role
In the documented immutable cache, the CPU keeps the complete source in RAM and coordinates staging, admission and publication. This is the CPU’s architectural role; utilization is a separate metric.
Movement granularity
Routed expert rows, per layer; bounded temporary transport arenas.
Placement policy
Cache capacity fixed before admission. Resident experts are not necessarily active for the current token.
Overlap strategy
ADR 0009 serializes miss transactions and publishes only after completion. The contribution described here is coordination of transfer and publication.
Hardware class
The selected campaign declares an RTX 5070 on a shared Windows desktop. This hardware defines the context of recorded capacities.
Disclosed workload
OLMoE 0924, OLMoE 0125 and Qwen; 13 configurations, 12 prompts repeated in three blocks, 128 tokens per measured response.
Benchmark maturity
Exploratory E3 memory and execution results. OLMoE c64 also changes executor; general limits are in the research-scope section.
Documented mechanisms and measured scope are identified separately. ADR 0009 does not authorize generalizing its P0 profile to all campaign arms.
This presentation brings together the architecture, engineering decisions and an OLMoE and Qwen test campaign on a shared desktop. Results have exploratory E3 status: they record memory, transfers and timing for the stated configurations.
Output quality has not yet been evaluated. Longer sequences, growth of context memory (KV cache), other models and hardware, production use and causal bottleneck identification require their own investigations. These are the limits of this campaign’s conclusions.
Questions for reading the research
How should the results be read?
The rates record how Horizon operated in the published configurations. A performance comparison with another runtime is a separate research question: it requires comparable checkpoint, precision, hardware, prompts and generation settings.
Which data explain the cache?
H2D is the volume transferred from the host to the GPU. The explorer shows the total recorded over measured responses. Hits, misses and per-miss cost require their own counters and timings; that volume alone does not determine those measurements.
What can I verify in the downloads?
The files support integrity and consistency checks across published data. Reproducing the full experiment also requires sufficient code, environment details and raw observations. The audit block describes the shared material and code availability.
This page includes OLMoE 0924, OLMoE 0125 and Qwen. Each configuration uses 12 prompts in three blocks, with 128-token responses.
Short checks and historical series use different conditions and remain separate from this campaign. Each set of files identifies its execution conditions.
Unknown (UNKNOWN) means absent or unmeasured information. Unsupported (UNSUPPORTED) means the platform or dependency cannot provide the observation.
From question to runtime: the builder’s decisions.
I conceived Horizon and develop it individually, connecting research, implementation and analysis of results. Working with limited resources means choosing what to build, how to verify each decision and where to focus the next effort.
The work builds on NeuronMap research and develops into its own runtime, with recorded provenance for reused code. The decisions below explain this engineering direction; campaign contracts identify the configurations actually measured.
01
Memory is a budget
Problem · A step activates a few experts, but the full set of weights must remain accessible.
Engineering decision · Distinguish storage, residency and execution; declare capacity per layer and profile.
How to interpret · This decision makes the space reserved for experts explicit in each configuration.
Problem · Replacing a copy in use must preserve the authority of weights and cache readers.
Engineering decision · Keep the source in RAM immutable, prepare new copies in temporary GPU locations and make the new cache state visible all at once, after transfer completion.
How to interpret · Calculations receive a complete set of copies ready for use, while the source in RAM remains intact.
Problem · OLMoE c60 and c64 change residency and executor together.
Engineering decision · Keep the recorded results available, separate Grouped T3 and place the contract beside the measurement.
How to interpret · The reading considers both changes together. The three block rates show recorded variation; isolating the causal effect of residency requires a different experimental design.
This is the research presentation: Horizon’s architecture, technical decisions and execution records.
12 / Contact
Meet the person building Horizon.
This project brings together the work I want to take into new opportunities: investigating AI systems problems, building solutions and evaluating results. I welcome technical conversations, collaboration and professional opportunities.
Lucas Ribeiro
Creator of Horizon RunMap · independent research
One person connecting research, engineering and experimentation.
I’m Lucas Ribeiro. I conceived Horizon and develop it individually, with limited resources and no institutional funding. The project brings together my work in research, runtime development and experimental analysis.
I want to bring this ability to build and investigate to AI systems challenges, working with people and organizations that value thoughtful engineering and initiative.
This edition contains curated extracts from the completed campaign. You can check file integrity and consistency between each extract and the aggregate dataset.
Follow the guide to download the manifest and its 19 files into a new directory, preserving names. A PowerShell command downloads the complete edition.
With Node.js 22.19.0, run inside that directory:
node verify-evidence-edition.mjs --directory .
PASS confirms 19 file hashes and agreement of 13 aggregate copies. The checker uses only local files, without installing dependencies or running models.
Verification covers file integrity and consistency of this edition’s aggregates. Experiment reproduction and recomputation from raw observations require the full material and a separate procedure. Hashes check files against the supplied manifest; publisher authentication is a distinct check.
The runtime source code remains private by the author’s decision. This presentation shares the architecture, engineering decisions and documented results. Downloads include extracts, a report, technical notes and a verifier.