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

Model Converter

pip install ai-ml-sdk-model-converter

Convert a model

VGF Library

pip install ai-ml-sdk-vgf-library

Build the VGF Library

Scenario Runner

pip install ai-ml-sdk-scenario-runner

Run a scenario

Emulation Layer

pip install ai-ml-emulation-layer-for-vulkan

Use the Emulation Layer

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?

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 FILE for runtime profiling

  • --perf-counters-dump-path FILE for performance counters

  • --neural-statistics-dump-dir DIR with --neural-statistics-mode 0|1 for neural statistics

  • --neural-debug-database-dump-dir DIR for 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.