Performance Optimizations
- cgemm AVX512 kernel: support for all conja/conjb combos
- Added S/D/C/Z GEMV kernels + multithreading
- SGEMM Zen5 RD kernel optimization
- Optimize complex scalv kernels with inline asm + FMA
- Converting mul+add to FMA for ddot, daxpy, daxpyf zen kernels
- Optimize edge/non-unit stride paths with intrinsics in axpyv kernels
- Pack B matrix for zgemm conjugate input in SUP path
- Support conjugate transpose in AVX512 zgemm SUP kernel
New features
- Multithreading added to GER API
- Skip OpenMP parallel region for single-threaded L3 and scalv calls
- Add optional header-only AOCL allocator backend
- Contribute BLIS objects to unified AOCL Build-It-Yourself libaocl
- Enable Exploit Mitigations for Windows (clang-cl) builds
- configure: follow reproducible-builds spec for SOURCE_DATE_EPOCH
Bug fixes
- Fix heap overflow when packing to a wider target datatype
- BigFix: int type cast in AVX512 GEMV transpose
- Fix heap corruption in mixed-domain/precision GEMM
- BugFix: skip AOCL_DYNAMIC for conjugate ZGEMM
- Fix: resolve label redefinition errors in zgemm SUP kernel
- Fixing memory issue in cgemm pack kernels on zen4
- Fixing memory issues in sgemm SUP kernels on AVX2/AVX512
- BF16 AVX2 fallback GEMV m=1 path fix for reordered B inputs
Test infra (gtestsuite)
- Bitexactness CRC verification + per-test JSON output
- Refine GEMM tests, cleanup disabled tests, fix ZGEMM tiny tests on Zen3
Known Issues
This release contains a known performance regression that may impact specific workloads and configurations. Depending on the workload characteristics, users may experience lower performance relative to the previous release. We are actively working on a resolution and recommend using the prior stable release if this regression significantly affects your deployment.
Regression issue details:
- ZGEMM conjugate inputs regression for small sizes
- Performance regressions for various GEMV cases