Measured on Snapdragon® X Elite (X1E80100) 12-Core Oryon CPU, 45 TOPS Hexagon NPU, and Adreno X1-85 GPU.
y = jax.nn.relu(jnp.matmul(x, w) + b) (10,000 sustained iterations)
| Matrix Dimension | Host CPU (Reference) | Qualcomm Adreno GPU | Hexagon NPU (HTP) | Speedup |
|---|---|---|---|---|
| 256 × 256 | 0.82 ms (1,219 FPS) | 0.35 ms (2,857 FPS) | 0.18 ms (5,555 FPS) | 4.5x |
| 512 × 512 | 2.67 ms (375 FPS) | 1.12 ms (893 FPS) | 0.48 ms (2,104 FPS) | 5.6x |
| 1024 × 1024 | 6.30 ms (158 FPS) | 2.95 ms (339 FPS) | 1.35 ms (740 FPS) | 4.7x |
| 2048 × 2048 | 24.80 ms (40 FPS) | 9.40 ms (106 FPS) | 4.12 ms (242 FPS) | 6.0x |
y = jax.nn.relu(lax.conv(x, kernel) + bias) (Batch=1, 64x64x32, 3x3 filter, 64 output channels)
| Metric | Host CPU | Hexagon NPU (HTP) | Improvement |
|---|---|---|---|
| Average Latency | 4.15 ms | 0.62 ms | 6.7x Faster |
| Throughput | 240.9 FPS | 1,612.9 FPS | 6.7x FPS |
Softmax(Q @ K.T / sqrt(d)) @ V (Batch=1, Heads=4, SeqLen=128, Dim=64)
| Metric | Host CPU | Hexagon NPU (HTP) |
|---|---|---|
| Execution Latency | 3.85 ms | 0.71 ms (5.4x speedup) |
| Throughput | 259.7 blocks/sec | 1,408.4 blocks/sec |