Skip to content

The agentic ML compiler
for edge compute platforms

Get more performance from your real-time intelligence stack, with an agent that actually understands your target edge compute and precisely explains remaining headroom

NVIDIAOrin & Thor
Qualcomm
Ambarella

Supported platforms today. More coming soon.

How it works

The steps below let RunLocal optimize your proprietary stack while minimizing IP sharing. For open-source models, just share the repository and target HW/SW versions.

Read the docs
  1. Prepare & submit

    Your coding agent uses the RunLocal Skill to locally prepare a Request Package from your internal model stack. You review it, then your agent uploads it to the RunLocal Platform.

    No weights or training data are uploaded; full source code is not required. See the docs for details.

  2. RunLocal optimizes

    Our agentic ML compiler autonomously optimizes your model stack for your target compute platform (running on RunLocal’s infrastructure).

    It experiments with inference optimizations, including custom kernels, quantization, operator fusion, and scheduling. It doesn’t perform distillation or broader model architecture changes (currently).

  3. Apply & validate

    Optimized code, results, and insights are uploaded to the RunLocal Platform as a Deliverable Package. Your coding agent downloads it and integrates the changes locally. You then validate the results locally.

The problem RunLocal solves

A coding agent with device access isn’t enough

The challenge for an agent is deciding what to try, what to measure to understand bottleneck root causes, and when to stop optimizing. While device access and profiling tools help an agent understand an existing implementation, they don't help predict how much potential optimizations might help because of interacting performance effects.

RunLocal combines a custom MLIR compiler, a causal and predictive hardware model calibrated on real benchmarks, and device knowledge that's reusable across workloads. Skip to our secret sauce 

01

Struggles to rank promising changes

An agent can identify a hotspot and suggest plausible optimizations, without a reliable basis for ranking which changes will help most.

Why this happens

Choosing between them requires predicting how compiler choices affect interacting hardware mechanisms across the workload. A change can relieve one bottleneck while making another more important, and testing every possibility on-device takes too long.

02

Can collect more measurements without resolving the cause

More device runs can leave the root cause of a slowdown unclear and the next optimization little better informed.

Why this happens

Different bottlenecks can produce similar timings. Changing several things at once can hide which caused an improvement, so the agent needs experiments that isolate the relevant causal effects within a limited device budget.

03

Can stall without knowing what remains

An agent can stop with performance headroom left, or keep searching where little remains, because recent results have plateaued.

Why this happens

A plateau describes the results found so far. Estimating the remaining opportunity requires performance bounds grounded in the workload and device, with assumptions and uncertainty made clear.

The cost to your real-time intelligence stack

Worse performance. Slower optimization cycles. Less confidence.

You're leaving performance on the table, without a clear sense of how much is remaining, and taking longer to hit your performance targets.

The value RunLocal adds

Improve performance, reduce costs, and plan your next move with more confidence.

Better performance

Lower latency

Run your stack faster on the same compute

More capable models

Fit larger models on the same compute

Lower costs

Hire fewer specialists

Do more without hiring more rare ML compiler talent

Reduce onboard compute

Meet performance targets with cheaper compute

More informed planning

What will fit

Better estimate whether models will fit your compute

How much headroom

Better estimate performance headroom before committing

Where it’s most useful

When standard compilers and libraries don’t deliver the performance you need

Dynamic workloads

Workloads whose shapes or execution paths vary at runtime, such as sparse LiDAR perception with changing occupied-voxel counts.

Complex pipelines

Multiple models sharing hardware or feeding into one another, where coordinating execution and data movement can reduce overall latency.

Unusual operations

Custom and emerging model operations that need more than standard library kernels.

Our secret sauce

An agent that actually understands your target compute

RunLocal combines a custom MLIR compiler, a causal and predictive hardware model calibrated on real benchmarks, and device knowledge that's reusable across workloads.

Agent
Tests & ProfilesResults
Device
Custom MLIR Compiler
Hardware Reasoning Engine
Hardware Knowledge Base

Causal effects of a change

Identified causePredicted timingsUnaffected work
Simulate a change to the cause and predict its effects across execution.
01

Causal and Predictive Hardware Modeling

Our Hardware Reasoning Engine models instructions, memory access, resource contention and dependencies together. Calibrated on benchmarks we collect from real devices, it identifies what limits execution and predicts the effect of changing it. The causal model accounts for changes across the whole workload, including the bottleneck that follows.

Combined hardware effects

Data transferredConcurrent workPredicted runtimeABSlowerFaster
Predict the net effect of competing hardware changes.
02

Custom MLIR Compiler

Our dialects represent computation, data movement, dependencies and scheduling. Compiler transformations preserve this information through to generated code. Our reasoning engine uses it to predict the combined hardware effects of each optimization candidate, compare expected runtimes and identify remaining constraints before device testing. Each prediction is connected to a specific implementation.

Remaining performance range

Lower latency ←Lower boundStarting runtimeRemaining improvement
Estimate the lower bound, then track how much improvement remains.
03

Performance Bounds and Remaining Headroom

Our reasoning engine derives a lower runtime bound from the computation, data movement and dependencies a workload requires. The gap to current performance bounds the remaining opportunity. It also simulates removing individual constraints to predict the next bottleneck and show which changes bring execution closer to that limit.

Removing unsupported explanations

Possible explanationsSupportedSelected device test
Use one targeted measurement to eliminate several hypotheses.
04

Targeted Experiments for Uncertain Predictions

When benchmarks leave device behavior uncertain, our Experiment Selection Engine predicts how different explanations would respond to additional tests. It selects measurements that distinguish those explanations and resolve the missing evidence. This focuses device time on improving the model’s predictions, so the agent can compare optimization candidates with better information.

Shared calibration, different workloads

Reusable device calibrationDifferent workloadsInstructionsMemoryConcurrency
Use the same calibrated hardware behavior to predict different workloads.
05

Reusable Benchmark Data and Hardware Knowledge

Our Hardware Knowledge Base retains benchmarks across instruction types, memory patterns and concurrency, together with calibrated device behavior. We validate predictions on benchmarks excluded from calibration. New workloads combine this knowledge with their own instructions and dependencies, reusing the work of measuring and explaining the device across optimization projects.

For silicon vendors

Help customers get more from your silicon. Bring their models onto your platform faster, broaden your model zoo, and improve the software behind it.

Book A Call (opens in a new tab)

Resolve customer requests faster

Port and optimize customer models faster without hiring more support engineers.

Grow your model zoo faster

Add and maintain support for more models without hiring a large internal optimization team.

Improve your software stack

Use insights from RunLocal to improve your compiler, libraries, and developer tools.

How do we use RunLocal?

See how you use RunLocal, and read the docs for more detail.

What makes your agent so good?

The challenge is helping the agent decide which implementation changes to try, understand their combined effects, and know how much performance remains. RunLocal adds compiler control, calibrated hardware models, reusable experiment knowledge and infrastructure for running and validating the search. See our secret sauce.

Why shouldn't my team build this?

Building it means maintaining compiler integrations, hardware calibrations, reliable device experiments and correctness checks across models, devices and SDK versions. RunLocal provides that system and the hardware knowledge already collected, so your team can focus on its autonomy/perception stack.

We’re also building reusable compiler rules and experiment knowledge across projects, extending the coverage an individual team would otherwise need to develop itself.

Is RunLocal an alternative to TensorRT or QAIRT?

For supported workloads, our own MLIR-based compiler provides an alternative path when the standard vendor compilation path restricts useful changes. On Qualcomm, it can produce QNN graphs directly while retaining Qualcomm’s backend and runtime. On NVIDIA, we can generate custom kernels for selected parts of a workload and retain TensorRT where it is useful. The choice depends on the workload and the performance opportunity.

What kinds of optimizations does your agent make?

Compiler-level changes include custom kernels, operator fusion, memory layouts, data movement, precision choices and execution scheduling. We consider the full inference workload, including interactions between operations and models. Distillation and broader model architecture changes are outside the current scope.

Do we need to share weights, training data, or full source code?

No. The Request Package describes your stack without requiring weights, training data, or full source code. See the docs.

How do we receive your optimizations?

A Deliverable Package on the RunLocal platform: optimized code or a binary, a performance report, and integration instructions. Your coding agent downloads and integrates it locally. You validate correctness and performance on your target compute.

How does pricing work?

A subscription gives your team access to RunLocal for a fixed recurring fee. Optimization requests are priced separately. For each request, we agree on performance targets, provide a fixed quote, and estimate the timeline. You only pay for that optimization if the agreed targets are met.

Can we try before we buy?

Start by booking a call to discuss your stack and target compute. We can then align on a 1-week pilot to prove RunLocal's optimization capability before you commit to something longer-term.

Get more from your edge compute

Tell us about your stack and target hardware. We’ll discuss where RunLocal could help and whether a 1-week pilot is a good fit.

Book A Call (opens in a new tab)

BACKED BY

468 CapitalY CombinatorRitual Capital