Details
hexagon: add conv2d support (#30995)
-
hexagon: add conv2d op
-
hex-conv2d: add double-buffered staging
-
hex-conv2d: full 64-wide activation block transpose straight from staged buffer
-
hex-conv2d: implicit gemm
-
hex-conv2d: remove scalar path and kernel
-
hex-conv2d: unify conv2d kernel params for all paths
-
hex-conv2d: scale HMX result before f16 storage and then restore during unpacking to prevent overflow
-
hex-conv2d: fix f16 overflow in HMX paths
-
hex-conv2d: refactor to rebase to new op fusion machinery
-
hex-conv2d: restructure DMA pipelines and trace scopes
-
hex-conv2d: removed the HVX_WIDTH and HVX_TILED paths
-
hex-conv2d: remove in-loop vector spills
-
hex-conv2d: refactor kparams, vtcm-layout and dma-pipeline to match the other ops
-
hex-conv2d: add basic support for CONV_2D_DW
Co-Authored-By: Pranav Dhinakar pdhinaka@qti.qualcomm.com
-
hex-conv_2d_dw: use DMA in all paths
-
hex-conv_2d_dw: support for chunking larger inputs
-
hex-conv_2d_dw: remove scalar/hvx access for w tensor (replaced with sync dma copy)
-
hex-conv-2d: fix warnings
-
hex-conv2d-dw: vectorize all paths
-
hex-conv-2d-dw: tree-based reductions and unrolling to optimize
-
hex-conv-2d-dw: uninline compute loops from dma loops
-
hex-conv-2d-dw: move all kernel selection into the host solver and simplify/specialize kernel dispatch
-
hex-softmax: update obsolete gates to enable SOFT_MAX for mmproj
Co-authored-by: Max Krasnyansky maxk@qti.qualcomm.com
Co-authored-by: Pranav Dhinakar pdhinaka@qti.qualcomm.com
Website:
Attestations:
macOS/iOS:
- macOS Apple Silicon (arm64)
- macOS Apple Silicon (arm64, KleidiAI enabled) DISABLED
- macOS Intel (x64)
- iOS XCFramework
Linux:
- Ubuntu x64 (CPU)
- Ubuntu arm64 (CPU)
- Ubuntu s390x (CPU)
- Ubuntu 26.04 s390x (CPU)
- Ubuntu 26.04 s390x (zDNN)
- Ubuntu x64 (Vulkan)
- Ubuntu arm64 (Vulkan)
- Ubuntu x64 (CUDA 12) - CUDA 12.8 libraries
- Ubuntu x64 (CUDA 13) - CUDA 13.4 libraries
- Ubuntu arm64 (CUDA 13) - CUDA 13.4 libraries
- Ubuntu x64 (ROCm 10.0)
- Ubuntu x64 (OpenVINO)
- Ubuntu x64 (SYCL FP32)
- Ubuntu x64 (SYCL FP16)
- Linux arm64 (Snapdragon: CPU, Adreno GPU, Hexagon NPU) - setup guide
Android:
Windows:
- Windows x64 (CPU)
- Windows arm64 (CPU)
- Windows arm64 (OpenCL Adreno)
- Windows x64 (CUDA 12) - CUDA 12.4 DLLs
- Windows x64 (CUDA 13) - CUDA 13.4 DLLs
- Windows arm64 (CUDA 13) - CUDA 13.4 DLLs
- Windows x64 (Vulkan)
- Windows arm64 (Vulkan)
- Windows x64 (OpenVINO)
- Windows x64 (SYCL)
- Windows x64 (ROCm 10.0)
openEuler:
- DISABLED
- openEuler x86 (310p)
- openEuler x86 (910b, ACL Graph)
- openEuler aarch64 (310p)
- openEuler aarch64 (910b, ACL Graph)
UI: