b10431
ggml : recurrent state rollback for ggml_ssm_scan (#26623)
-
Initial changes for Recurrent state rollback for nemotron for cpu and cuda
-
Removing CPU RS rollback. Will enable it in subsequent PRs
-
addition of test case
-
Removing assert and calling runtime API to check if op is supported
-
removing extra API and updating the call sites for K
-
replace static cuda detection to runtime fused_op api
-
address review comments and fallback when SSM rollback not supprted
-
Adding changes for supporting RS-rollback in CPU. Also added test-backend-ops for cpu and cuda
-
removing memory manipulation as rs rollback is now supported in CPU
-
removing the static probe which is not needed now
-
correcting the format
-
address review comments
-
enabling test for all the backends, unsupported backends will fallback to CPU
-
Apply suggestions from code review
Co-authored-by: Georgi Gerganov ggerganov@gmail.com
-
choose different graph based on the result of fused_ssm_op is supported or not and also handled memory->n_rs_seq >1 case incase of op is not supported
-
Support K > 1 in ssm_scan for all backends
-
Fix CI Issues
Co-authored-by: Georgi Gerganov ggerganov@gmail.com
Co-authored-by: Gaurav Garg gaugarg@nvidia.com
Website:
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 (ROCm 7.14)DISABLED
- 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.3 DLLs
- Windows arm64 (CUDA 13) (preview) - CUDA 13.4 DLLs
- Windows x64 (Vulkan)
- Windows x64 (OpenVINO)
- Windows x64 (SYCL)
- Windows x64 (ROCm 7.14)
openEuler:
- DISABLED
- openEuler x86 (310p)
- openEuler x86 (910b, ACL Graph)
- openEuler aarch64 (310p)
- openEuler aarch64 (910b, ACL Graph)
UI: