A high-performance OpenXLA PJRT plugin bridging JAX StableHLO representations directly to Qualcomm Hexagon NPUs (45 TOPS), Adreno GPUs, and Oryon CPUs.
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)
Targets Qualcomm HTP (Hexagon Tensor Processor) with Vector Tightly-Coupled Memory (VTCM) allocation for zero-DDR thrashing.
Built directly against the official OpenXLA PJRT C API standard (GetPjRtApi ABI), ensuring pure upstream JAX compatibility.
Converts JAX MLIR / StableHLO operations (dot_general, conv, maximum, broadcast) directly into native QNN execution graphs.
Full support for Windows 11 Copilot+ PCs (MCDM Driver Store) and Linux Snapdragon Developer Kits.
Measured on Qualcomm Snapdragon X Elite (X1E80100) 12-Core Oryon CPU & 45 TOPS Hexagon NPU.
| 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 |
Run community examples across Computer Vision, Large Language Models, and Benchmarks.
Standard dense neural network layer executed on Qualcomm Hexagon NPU.
Computer vision convolutional filter layer mapped to QNN native ops.
Scaled dot-product attention block targeting Hexagon Vector units.
Comprehensive latency and throughput test across NPU, GPU, and CPU.