b11070
Pre-releasehexagon: overhaul of buffer and DMA handling to support 64bit mappings + improvements (#29197)
- hex-dma64: enable support extended buffer mappings and 64bit dma
hex-dma64: expand binary ops to support more DMA scenarios
hex-dma64: add binary-ops.h
hex-dma64: add --hex-dma64 to run.py and fix minor issues
hex-dma64: update SSM_CONV to use dma with proper support for 64bit
hex-ops: remove obsolete gate for % 128 in binary ops
hex-l2: dont check weight tensors against dirty ranges
hex-dma64: most binary ops now support dma
hex-dma: use dma_addr_t instead of plain uint64_t to avoid overhead on older targets
hex-dma: update all dma users to use dma_data (instead of pointers)
hex-dma64: simplify lazy buffer mapping and clonning
hex-fusion: factor out try_fuse_common that checks for dma64 buffers
hex-bufs: minor cleanup for mmaping logic
hex-bufs: simplify buffer clonning
hex-ssm-conv: tighten gating checks and check vtcm size in kparams
hex-binary: fix incorred mod/wrap in scalar ops
hex-binary: make sure to call precompute kparams in support checks
hex-dma64: update addr handling in mm,concat,binary
hex-dma64: fixing up leftover of dma_addr_t conversion
hex-binary: redo the kernel selection again and fix regressions in MOEs
hex-binary: specialize per-type/per-op
hex-binary: vtcm-layout and per-src dma-queue
hex-dma64: update dma_push to transparently handle 64bit/extended
-
hex-cpy: fix improper rebase with the fixes for cont. tensors
-
hex-dma-cpy: update CPY to use safe dma rows/size limits
-
hex-mmap: bump number of mmaps to 64 to allow avoid eviction in larger models
-
hex-dma: add support for the secondary ring as a fallback for too-large transactions
-
hex-rope: fix freq_factors access with 64bit dma
-
hex-dma: audit all ops for proper use/gards for 64bit addresses
-
hex-dma64: uninline glu-compute funcs to avoid register pressure due to 64bit addr math
-
hex-dma64: refactor binary ops to separate dma loops
-
hex-devel: add inspect script to help with dbg and analysis
-
hex-dma: refactor dma-pipelines in unary-ops
-
hex-dma: rewrite softmax to use dma
-
hex-dma: rewrite GDN dma loops and improve HVX register usage
-
hex-gdn: fuse GDN+CPY
-
hex-mm: factor out HVX solver
-
hex-mm: remove hvx-flat kernels, the chunked version now handles vtcm limits much better
-
hex-buffs: reject huge buffer allocations that we cannot memory map
-
hex-inspect: add logic to look for float promo calls
-
hex-mm: reduce HVX register spills in HVX prompt kernels
-
hex-bufs: do not double count buffers from tensors in the same op
-
hex-roll: fix merge conflict
-
hex-dma: reroute all matmul ddr kernels to new chunked dma/vtcm kernels
-
hex-dev: update developer docs to include inspection for register spils and float promos
-
hex-ops: forgot to add new headers
-
hex-softmax: fix gpt-oss dims
-
hex-dma64: cleanup dma_addr_t casts
-
hex-dma64: add support for dma/vtcm for flash-atten with sinks
-
hex-mm-add: fix MUL_MAT+ADD fusion with bias.weights in extended bufs
-
hex-add-id: add support for dma for src1 (exp. table)
-
hex-dma: imrpove v73 fallback paths
-
hex-bufs: do not drop extended mappings during va defrag
-
hex-scripts: fix flake8 warnings
-
hex-docs: fix editor-config warnings
-
hex-inspect: fix warnings from ty
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 x64 (Vulkan)
- Ubuntu arm64 (Vulkan)
- Ubuntu x64 (CUDA 12) - CUDA 12.8 libraries
- Ubuntu x64 (CUDA 13) - CUDA 13.3 libraries
- Ubuntu arm64 (CUDA 13) - CUDA 13.3 libraries
- Ubuntu x64 (ROCm 10.0)
- Ubuntu x64 (OpenVINO)
- Ubuntu x64 (SYCL FP32)
- Ubuntu x64 (SYCL FP16)
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 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: