🚀 Qualcomm AI Engine Direct for JAX

Accelerate JAX on
Snapdragon NPU & GPU

A high-performance OpenXLA PJRT plugin bridging JAX StableHLO representations directly to Qualcomm Hexagon NPUs (45 TOPS), Adreno GPUs, and Oryon CPUs.

Get Started View Architecture
python • quickstart.py JAX with backend="qnn"
import jax
import jax.numpy as jnp
import jax_qnn

# 1. Discover Qualcomm hardware accelerators
print("Available Devices:", jax.devices("qnn"))

# 2. Define JAX Model
@jax.jit
def dense_model(x, w, b):
    return jax.nn.relu(jnp.matmul(x, w) + b)

x = jnp.ones((128, 512), dtype=jnp.float32)
w = jnp.ones((512, 512), dtype=jnp.float32)
b = jnp.zeros((512,), dtype=jnp.float32)

# 3. Compile & Execute directly on Qualcomm Hexagon NPU
output = jax.jit(dense_model, backend="qnn")(x, w, b)
print("Output shape:", output.shape)
🧠

45 TOPS Hexagon NPU

Targets Qualcomm HTP (Hexagon Tensor Processor) with Vector Tightly-Coupled Memory (VTCM) allocation for zero-DDR thrashing.

OpenXLA PJRT Plugin

Built directly against the official OpenXLA PJRT C API standard (GetPjRtApi ABI), ensuring pure upstream JAX compatibility.

🔄

StableHLO Compiler

Converts JAX MLIR / StableHLO operations (dot_general, conv, maximum, broadcast) directly into native QNN execution graphs.

💻

Windows on ARM & Linux

Full support for Windows 11 Copilot+ PCs (MCDM Driver Store) and Linux Snapdragon Developer Kits.

Snapdragon® X Elite Benchmarks

Measured on Qualcomm Snapdragon X Elite (X1E80100) 12-Core Oryon CPU & 45 TOPS Hexagon NPU.

View Full Benchmarks →
Workload Host CPU (Reference) Qualcomm Adreno GPU Hexagon NPU (HTP) NPU Speedup
512×512 Dense Layer (GEMM + ReLU) 2.67 ms (375 FPS) 1.12 ms (893 FPS) 0.48 ms (2,104 FPS) 5.6x
1024×1024 Dense Layer 6.30 ms (158 FPS) 2.95 ms (339 FPS) 1.35 ms (740 FPS) 4.7x
2D Convolution (64x64x32, 3x3) 4.15 ms (241 FPS) 1.45 ms (690 FPS) 0.62 ms (1,613 FPS) 6.7x
Transformer Self-Attention (Seq 128) 3.85 ms (260 FPS) 1.60 ms (625 FPS) 0.71 ms (1,408 FPS) 5.4x

Explore Examples

Run community examples across Computer Vision, Large Language Models, and Benchmarks.

View All Examples →