Implementation:Microsoft Onnxruntime OrtProvider
Appearance
| Knowledge Sources | Description |
|---|---|
| Source File | java/src/main/java/ai/onnxruntime/OrtProvider.java |
| Repository | Microsoft/onnxruntime |
Domains
- Machine Learning Runtime
- Execution Provider Registry
Overview
OrtProvider is a public enum representing the execution providers available through the ONNX Runtime Java API. Each constant maps to the provider's native string name. The enum is used by OrtEnvironment.getAvailableProviders() to report which providers are available in the current build.
Description
The enum defines 18 execution providers:
- CPU ("CPUExecutionProvider")
- CUDA ("CUDAExecutionProvider") - Nvidia GPUs
- DNNL ("DnnlExecutionProvider") - Intel Deep Neural Network Library
- OPEN_VINO ("OpenVINOExecutionProvider")
- VITIS_AI ("VitisAIExecutionProvider") - AMD/Xilinx
- TENSOR_RT ("TensorrtExecutionProvider") - Nvidia TensorRT
- NNAPI ("NnapiExecutionProvider") - Android
- RK_NPU ("RknpuExecutionProvider") - RockChip NPU
- DIRECT_ML ("DmlExecutionProvider") - Windows DirectML
- MI_GRAPH_X ("MIGraphXExecutionProvider") - AMD MIGraphX
- ACL ("ACLExecutionProvider") - ARM Compute Library
- ARM_NN ("ArmNNExecutionProvider")
- ROCM ("ROCMExecutionProvider") - AMD ROCm
- CORE_ML ("CoreMLExecutionProvider") - Apple CoreML
- XNNPACK ("XnnpackExecutionProvider")
- AZURE ("AzureExecutionProvider") - Azure remote endpoint
- QNN ("QNNExecutionProvider")
- WEBGPU ("WebGpuExecutionProvider")
Methods: getName() returns the native name string; mapFromName(String) converts from the native name (throws IllegalArgumentException for unknown names).
Code Reference
Source Location
// File: java/src/main/java/ai/onnxruntime/OrtProvider.java
// Package: ai.onnxruntime
Signature
public enum OrtProvider {
CPU, CUDA, DNNL, OPEN_VINO, VITIS_AI, TENSOR_RT, NNAPI, RK_NPU,
DIRECT_ML, MI_GRAPH_X, ACL, ARM_NN, ROCM, CORE_ML, XNNPACK,
AZURE, QNN, WEBGPU;
public String getName();
public static OrtProvider mapFromName(String name);
}
Import
import ai.onnxruntime.OrtProvider;
I/O Contract
Inputs
| Name | Type | Description |
|---|---|---|
| name | String | Native provider name string (e.g., "CUDAExecutionProvider") |
Outputs
| Name | Type | Description |
|---|---|---|
| OrtProvider | OrtProvider | The corresponding enum constant |
| getName() | String | The native provider name string |
Usage Examples
import ai.onnxruntime.*;
import java.util.EnumSet;
EnumSet<OrtProvider> providers = OrtEnvironment.getAvailableProviders();
System.out.println("Available providers: " + providers);
if (providers.contains(OrtProvider.CUDA)) {
System.out.println("CUDA is available: " + OrtProvider.CUDA.getName());
}
// Map from native name
OrtProvider p = OrtProvider.mapFromName("CUDAExecutionProvider");
System.out.println("Mapped: " + p); // CUDA
Related Pages
- OrtEnvironment.java - getAvailableProviders() returns EnumSet<OrtProvider>
- OrtSession.java - SessionOptions.addCUDA/addTensorrt/etc. use these providers
- OnnxRuntime.java - Discovers available providers during initialization
Page Connections
Double-click a node to navigate. Hold to expand connections.
Principle
Implementation
Heuristic
Environment