# 0.9.0 ## Release Information - OS & Framework support - Tested with the following configurations: > > > - Non-Gen AI: > > > > > > > > > - Frameworks: ONNX, TFLite, Pytorch > > - Host Platforms: Linux-x86\_64 (Ubuntu 22.04, Ubuntu 24.04), Linux-aarch64 (Ubuntu 24.04, Python 3.12), Windows-x86\_64 (10+), Windows-arm64 (10+) > > - Target Platforms: Linux-x86\_64 (Ubuntu 22.04, Ubuntu 24.04), Linux-aarch64 (Ubuntu 24.04), Windows-arm64 (10+), Android-arm64, QNX > - Gen AI: > > > > > > > > > - Frameworks: ONNX, GGUF > > - Host Platforms: Linux-x86\_64 (Ubuntu 22.04, Ubuntu 24.04) > > - Target Platforms: Android-arm64, Linux-aarch64 - QAIRT SDK - Tested with version (2.47.0, 2.48.0(Default), 2.49.0) Note For QAIRT SDK, other supported SDK versions can be listed using `qairt-vm fetch --list`. ## Highlights - New features in QAIRT Dev Python APIs (compatible with QAIRT SDK 2.47.0+, unless noted otherwise) > > > - Gen AI Builder Enhancements > > > > > > > > > - `GenAIBuilderHTP` supports parallel execution of the convert, compile, and AR/CL phases across multi-core hosts — set `builder.parallel_build = True` after construction (requires `cache_root`). Worker count is auto-derived from the split fan-out or can be capped via `max_workers` / `QAIRT_MAX_BUILD_WORKERS`. Per-task logs are written to `/logs//`. On-disk cache entries are identical to those produced by a serial build. > > - Eaglet v2 and v2.5 speculative decoding support in the Gen AI builder, enabling faster inference through lightweight draft models conditioned on target model hidden states — configure via `EagletBuilderConfig(eaglet_version=2)` or `eaglet_version="v2_Qwen3.5"` (see [Speculative Decoding Tutorial](https://docs.qualcomm.com/doc/80-87189-2/topic/speculative_decoding_tutorial.html#speculative-decoding-tutorial)) > > - `EagletBuilderConfig` now accepts an `encodings` parameter to pass pre-computed quantization encodings directly into the Eaglet draft model, avoiding redundant calibration when encodings are already available from a prior run > - ONNX Optimizer > > > > > > > > > - `MHA2SHARewriter` gains end-point control to stop `GroupSlice` propagation at user-specified tensor boundaries, enabling MHA-to-SHA conversion on models with non-standard attention patterns that previously caused incorrect rewrites beyond the attention subgraph > - [Preview] QAIRT Dev Pipeline (`qairt.experimental.pipeline`) > > > > > > > > > - Introducing the QAIRT Dev Pipeline — a declarative, stage-based orchestration framework that replaces manual multi-step **GenAI optimization** workflows with a single YAML recipe and a few lines of Python > > - Handles model loading, quantization, and Gen AI building as a unified workflow with automatic stage-level caching and checkpoint-resume > > - Progressive API from a one-liner (`LLMPipeline.from_pretrained()`) to custom stage registration for advanced users > > - This release ships with pre-built recipes for LLM models including Llama, Qwen3, and Phi-4 > > - See the [Pipeline Overview](https://docs.qualcomm.com/doc/80-87189-2/topic/pipeline_overview.html) and [Getting Started](https://docs.qualcomm.com/doc/80-87189-2/topic/pipeline_getting_started.html) guides ## Resolved Issues > > > - Fixed `LLMContainer.load()` crash when loading an Eaglet-enabled container without a token map JSON file present. The loader now treats a missing token map as optional rather than raising an unhandled exception. > - Fixed ONNX model export crash for models exceeding 2 GiB by requiring `torch>=2.6.0`, which resolves a protobuf serialization overflow in the PyTorch ONNX exporter. > - Fixed LLM splitter incorrectly raising “not enough layers” when the requested split count was valid but the layer-counting heuristic double-counted shared layers in weight-tied architectures. > - Fixed LoRA adapter application failing on Qwen3.5 weight-shared multi-AR builds where the adapter target module names did not account for the post-preparation model structure. ## Deprecation Notices All items below will be removed once the default QAIRT SDK version moves past 2.48. > > > - The ONNX Model interface (`OnnxModel` and its public methods `OnnxModel.load()`, `OnnxModel.split()`, `OnnxModel.mha2sha_v2()`) is deprecated. It exists only for compatibility with the QAIRT SDK. Migrate to `GraphContext` together with the simple optimizer APIs (`convert_mha_to_sha`, `split_llm`, `adapt_moe`). > - `GenAIConfig.allow_async_init` and `GenAIConfig.enable_graph_switching` are deprecated. Set these through `EngineConfig.htp.allow_async_init` and `EngineConfig.htp.enable_graph_switching` and pass the `EngineConfig` to `get_executor()` / `T2TExecutor` instead. > - `GenAIExecutor` (`qairt.gen_ai_api.executors.gen_ai_executor`) is deprecated and has been renamed to `GenAIExecutable` (`qairt.gen_ai_api.executors.gen_ai_executable`). Update imports to the new module. ## Known Issues > > > - Gen AI Builder is temporarily unsupported on Windows-arm64. Use Linux-x86\_64 as the host platform for Gen AI workflows. > - Windows on ARM64 is not functional. This is a known issue (AISW-188015). > - Models with batch size greater than 1 > > > > > > > > > - A discrepancy exists between the qnn-net-run CLI and the Python API regarding data preparation for batch sizes > > greater than 1. While the CLI automatically groups individual tensor paths from an input list into a batch, > > the Python API requires inputs to be pre-batched (concatenated into a single raw file) prior to execution Last Published: Jul 08, 2026 [Previous Topic Documentation](https://docs.qualcomm.com/bundle/publicresource/80-87189-2/topics/0_8_1.md)