Next Steps#
- Date:
2026-08
Recommended implementation order#
Runtime execution work should proceed in dependency order:
implement Profile PR01 from ParallelFor profiling and hardware counters, starting with portable bounded events and a disabled path with no instrumentation work;
add process CPU time, inspection, hardware counters, and calibration diagnostics only after that event contract is stable;
use that same executor when the fast-loading sequence reaches Prepared and asynchronous execution, rather than creating another scheduler pool.
Model-format work such as custom types, quantization, compiled tensors, and model resolution may proceed independently until it reaches prepared execution. Within the runtime track, the order above is mandatory: profiling or tuning a hidden global pool would produce profiles that a session cannot reproduce.
Large-model startup follows the four-plan sequence documented in Fast-loading implementation sequence.
All Next Steps#
Use the search field to filter by status or text, and select a column heading to sort the table.
Status |
Next step |
Planned work |
Why |
|---|---|---|---|
Started |
Orchestrate the four-step large-model startup roadmap. |
Define one dependency order for fast loading. |
|
Started |
Add bounded, opt-in |
Explain CPU under-utilization before tuning prepared execution. |
|
Discussed |
Define structured byte-buffer types for custom formats. |
|
|
Discussed |
Add schema inheritance while retaining flat wire encoding. |
Reuse common fields without duplicating them across proto families. |
|
Discussed |
Describe quantized data families and their proto mappings. |
Represent quantization consistently as structured custom types. |
|
Discussed |
Preserve quantized initializers in graph storage. |
Avoid implicit dequantization or rewriting by |
|
Discussed |
Add compact graph authoring and non-gallery runtime walkthroughs. |
Make models easier to build, inspect, optimize, and execute. |
|
Discussed |
Support in-place KV-cache updates with controlled aliasing. |
Avoid duplicating large caches on every update. |
|
Discussed |
Persist packed tensor representations as caches. |
Avoid repeating expensive prepacking when a model is reloaded. |
|
Discussed |
Resolve the final graph and required payloads before I/O. |
Load weights only after transformations and liveness analysis. |
|
Discussed |
Split public features into composable Python wheels. |
Let users install only the components they need. |
|
Completed |
Build the protobuf-free ONNX message layer. |
Provide the project’s independent base schema layer. |
|
Completed |
Port the ONNX C++ library to |
Run the upstream library without |
|
Completed |
Provide native kernels and backend tests in C++. |
Validate the runtime natively without depending on Python. |
|
Completed |
Generate backward-pass graphs symbolically. |
Support training with a native graph-based gradient pass. |
|
Completed |
Route onnxruntime protobuf usage through |
Provide a build-time alternative to protobuf in onnxruntime. |
|
Completed |
Reduce the |
Avoid shipping unused wrapper overhead. |
|
Completed |
Make kernel thresholds processor-specific and persistent. |
Adapt thresholds to hardware instead of fixed constants. |
|
Completed |
Reuse execution and I/O buffers safely. |
Reduce allocations without breaking NumPy ownership. |
|
Completed |
Rewrite local graph patterns to cheaper equivalents. |
Add the native optimization engine missing from |
|
Completed |
Manage CPU policies and shared executor pools. |
Give sessions deterministic, shareable execution resources. |