Generated by GPT-5-mini| ONNX Runtime | |
|---|---|
| Name | ONNX Runtime |
| Developer | Microsoft |
| Released | 2018 |
| Programming language | C++, C# |
| Operating system | Windows, Linux, macOS |
| License | MIT License |
ONNX Runtime ONNX Runtime is an open-source high-performance inference engine initially developed by Microsoft to execute machine learning models in the ONNX format. It provides cross-platform runtime support and hardware acceleration for deploying models from multiple training frameworks. The project aims to deliver consistent behavior across devices and frameworks while integrating optimizations and execution providers.
ONNX Runtime implements execution of models serialized in the Open Neural Network Exchange format and was released amid collaborations involving Microsoft, Facebook, and Amazon. It is positioned to complement ecosystems represented by PyTorch, TensorFlow, Keras (software), Scikit-learn, and XGBoost by offering a neutral runtime for inference. The project aligns with initiatives from organizations such as Linux Foundation and tools used by enterprises like Azure (cloud computing service), Amazon Web Services, and Google Cloud Platform for scalable deployment. Corporate adopters include Microsoft, NVIDIA, Intel Corporation, and ARM whose hardware and software stack integrations broaden runtime applicability.
The architecture separates the model representation from execution providers and optimization passes. Core components include a graph executor, operator kernels, and a session object that manages model lifecycle similarly to patterns in COM, gRPC, and OpenVINO. Execution providers abstract backends such as CUDA, DirectML, and ROCm, enabling portability across accelerators like NVIDIA Tesla, AMD Instinct, and Intel Xeon Phi. The optimizer applies graph-level transformations inspired by compiler toolchains from projects like LLVM and concepts found in Apache TVM. The codebase interacts with runtime libraries in C++ and C# and exposes APIs that echo designs in .NET Framework and POSIX-style calling conventions.
ONNX Runtime supports major operating systems including Windows 10, Ubuntu, Red Hat Enterprise Linux, and macOS and targets cloud platforms such as Microsoft Azure, Amazon EC2, and Google Compute Engine. Hardware acceleration is provided through execution providers for NVIDIA CUDA, DirectX via DirectML, OpenVINO for Intel Corporation accelerators, and vendor stacks for ARM NEON and Apple Metal (API). Partnerships with silicon vendors mirror collaborations seen between Intel and Microsoft or between NVIDIA and Microsoft in other projects, enabling specialized kernels and drivers for accelerators like NVIDIA A100 and Intel Nervana-class devices.
APIs and bindings exist for languages and ecosystems including Python (programming language), C#, C++, Java, and Node.js, facilitating integration with frameworks such as PyTorch, TensorFlow, Keras (software), MXNet, and Scikit-learn. The runtime’s Python API is commonly used alongside tooling from Jupyter Notebook and Anaconda (software). SDKs and servable bundles enable deployment patterns compatible with Docker containers orchestrated by Kubernetes and service meshes like Istio in production environments originally popularized by cloud-native projects such as Cloud Native Computing Foundation initiatives.
Performance strategies include graph optimization passes, operator fusion, quantization, and memory planning. Quantization tools provide INT8 and FP16 workflows similar to techniques adopted by TensorRT and OpenVINO while operator fusion resembles optimizations in XLA (Accelerated Linear Algebra). Performance telemetry and profiling integrate with tools like Nsight Systems, Perf (Linux tool), and Visual Studio performance diagnostics. Benchmarks often reference workloads and frameworks exemplified by ImageNet, COCO (dataset), and models such as BERT, ResNet-50, and YOLO to compare latency and throughput across backends and hardware.
Reliability features include deterministic operator implementations and session isolation patterns analogous to sandboxing models in Windows Sandbox or container runtimes like runc. Security posture involves code auditing, signed binaries, and cooperation with ecosystem partners for driver and firmware validation similar to practices followed by Microsoft Security Response Center and CERT Coordination Center. The runtime participates in supply-chain considerations that echo initiatives from OpenSSF and uses secure coding conventions influenced by standards from MITRE.
ONNX Runtime is used in scenarios spanning real-time inference for computer vision, speech recognition, recommendation systems, and natural language processing. Deployments appear in edge devices such as those using Raspberry Pi and NVIDIA Jetson and in cloud services from Microsoft Azure and Amazon Web Services. Industry adopters and research projects in organizations like OpenAI, Baidu, and Salesforce use ONNX Runtime or ONNX-formatted artifacts to enable interoperability between model training and production inference stacks. Its cross-vendor interoperability has encouraged integration into MLOps toolchains alongside MLflow, Kubeflow, and TensorBoard workflows.