Frequently asked questions
This FAQ provides quick, task-oriented answers. The linked platform, release, and component documentation remains authoritative for complete procedures, current requirements, and version-specific details.
Which host and target platforms are supported?
Linux AArch64 and x86-64, and Windows x86-64, are supported. Windows AArch64 and Darwin x86-64 are unsupported. Darwin AArch64 supports Model Converter and VGF Library, with experimental Scenario Runner and Emulation Layer support. Android™ AArch64 support is experimental for VGF Library, Scenario Runner, and Emulation Layer, while Model Converter is not an Android™ target. Android™ x86-64 runtime components are unsupported.
Use the authoritative Platforms table for the component-by-component status and Building the ML SDK for Vulkan® for current host prerequisites and component build documentation.
How do I choose compatible ML SDK, VGF and component versions?
Start from a tagged ai-ml-sdk-manifest release. It pins the coordinated ML SDK components and dependencies. Prefer revisions from the same coordinated release.
To migrate a valid older VGF file to the format supported by the installed VGF Library, run:
vgf_updater -i input.vgf -o output.vgf
Use the tagged manifest together with the ML SDK release notes, the Platforms guidance, and the VGF Updater documentation.
Where can I find supported prebuilt packages, and how do I get started?
Supported prebuilt ML SDK packages are distributed through PyPI. Install the component you need:
Component |
Install from PyPI |
Start with |
|---|---|---|
|
||
|
||
|
||
|
Note
Before installing, open each PyPI project’s Download files page and check that a wheel matches your operating system, architecture, and Python version or ABI. Publishing a package does not guarantee a compatible file for every system.
What is supported on Darwin, and how should it be configured?
Darwin support is limited to Apple silicon. Model Converter and VGF Library are supported, while Scenario Runner and Emulation Layer are experimental.
Scenario Runner and the Emulation Layer use the Vulkan® Loader with either MoltenVK or KosmicKrisp. MoltenVK is the default compatibility option. KosmicKrisp is an optional technical preview in recent Vulkan® SDK releases.
After sourcing the Vulkan® SDK environment, select exactly one driver by
setting VK_DRIVER_FILES to its manifest. After enabling the graph and
tensor layers, run vulkaninfo --summary. Confirm that it reports the
selected MoltenVK or KosmicKrisp driver and lists
VK_LAYER_ML_Graph_Emulation and VK_LAYER_ML_Tensor_Emulation.
Check the authoritative Platforms table and follow the canonical Darwin build, driver, and layer setup for prerequisites, driver selection, layer configuration, and validation.
How do I build and run ML SDK components on Android™?
Build the VGF Library, Scenario Runner, and Emulation Layer for Android™ AArch64
with the Android™ NDK toolchain. Run them on a device with Vulkan® 1.3 support.
APK packaging also requires Gradle 8.4 or later on PATH.
ANDROID_HOME should point to an Android™ SDK containing the platform package
for API level 34 and Build Tools 34.0.0, or compatible versions.
For the Scenario Runner APK, install the generated package and start its foreground service with:
adb install -r build/scenario-runner-debug.apk
adb shell am start-foreground-service \
-n com.arm.ai_ml_sdk_scenario_runner/.Main \
--esa args --scenario,/data/user/0/com.arm.ai_ml_sdk_scenario_runner/scenario.json
The scenario, VGF, and input files must already be accessible at the paths
passed to Scenario Runner. Deploy the Emulation Layer either as an APK-packaged
Vulkan® layer or by placing its layer libraries under
/data/local/debug/vulkan. Then enable the graph and tensor layers through
Android™’s GPU debug-layer settings.
See the complete documented Scenario Runner Android™ build and execution flows, and the Emulation Layer sections for Building for Android™, Usage on Android™, and APK Packaging. The Android™ Vulkan layer deployment guide covers the platform’s layer file-transfer and enablement procedures.
Note
Android™ AArch64 support is experimental for the VGF Library, Scenario Runner, and Emulation Layer. Model Converter is an offline host tool and is not an Android™ target. Behavior depends on the device, API level, app permissions, and whether the build is debuggable.
Where can I find sample models, VGFs and Scenario Runner workloads?
Use one of the end-to-end tutorials for PyTorch, TensorFlow Lite, or ONNX to generate VGF files and Scenario Runner workloads. The TensorFlow Lite tutorial uses the SESR super-resolution example from the Arm® Model Zoo, including its model and NumPy reference data.
For an existing VGF, generate a scenario template:
vgf_dump --input model.vgf --output scenario.json --scenario-template
Before running the scenario, edit scenario.json and replace the generated
input and output path placeholders with paths to your files:
scenario-runner --scenario scenario.json
Use the VGF execution tutorial for the full scenario-editing and execution procedure.
What tools can create or inspect VGF files?
Model Converter converts supported TOSA FlatBuffer or MLIR input into VGF.
The VGF Library provides C++ encoder, C encoder, C++ decoder, and C decoder APIs for programmatic encoding and decoding.
vgf_dump produces a human-readable view, extracts embedded data, and generates Scenario Runner templates.
vgf_updater migrates a valid older file to the format supported by that VGF Library version.
The VGF Adapter for Model Explorer provides graphical inspection of VGF inputs, outputs, constants, and graphs.
The linked pages contain each tool’s complete build, API, and command-line documentation.
How do I collect and interpret performance data?
Use Scenario Runner dump options for runtime profiling, performance counters, neural statistics, and debug databases:
--profiling-dump-path FILEfor runtime profiling--perf-counters-dump-path FILEfor performance counters--neural-statistics-dump-dir DIRwith--neural-statistics-mode 0|1for neural statistics--neural-debug-database-dump-dir DIRfor the accelerator debug database
Neural-statistics and debug-database dumps require both the
VK_ARM_data_graph_neural_accelerator_statistics extension and its
dataGraphNeuralAcceleratorStatistics feature. Scenario Runner fails before
creating the Vulkan® device if either dump is requested without both.
Important
Neural-statistics and debug-database dumps are native-driver diagnostics whose contents and interpretation depend on the target hardware and driver. The Emulation Layer does not implement this hardware-specific extension, so these dumps are unavailable with it.
See the Scenario Runner CLI and Neural accelerator statistics for complete details.
Which versions support Optical Flow?
Support for VK_ARM_data_graph_optical_flow starts with ML SDK 2026.06.0.
That coordinated release uses Scenario Runner 0.10.0 and Emulation Layer
0.10.0.
See the tagged ML SDK 2026.06.0 release notes, the 2026.06.0 manifest, and the Scenario Runner 0.10.0 and Emulation Layer 0.10.0 release notes for details.