ggml 1.0.0은 폐기 예정 공개 API와 기존DIAG_MASK
연산을 제거하고, YaRN 설정과 FP8 지원을 확장한 릴리스임RPC 프로토콜 v9은 호환되지 않는 상대의 연결을 거부하며, 로딩 속도와 연결 실패 처리를 개선함CUDA와 Metal은 행 수가 적은 행렬 곱셈과 MoE 연산을 최적화하고, CUDA에는 OCP FP8 지원과 NVFP4 연산 융합을 추가함FlashAttention과 MoE 실행 경로를 여러 백엔드에서 확장해, Intel용 프리필 커널과 장치 측 MoE 스케줄러, Adreno용 분해형 FlashAttention을 추가함공통 스케줄러는 읽지 않는 입력의 업로드를 생략하며, MoE 캐시는 캐시 미스의 일부를 CPU에서 계산한 뒤 결과를 비동기로 복사할 수 있음
API와 RPC 호환성 변경
폐기 예정 공개 API와DIAG_MASK_INF
/DIAG_MASK_ZERO
연산을 제거하고, 호환되지 않는 상대를 거부하도록 RPC 프로토콜을 변경함- 관련 변경은 API 정리, 기존 연산 제거와 RPC 변경에서 확인할 수 있음
YaRN 보정 경계 반올림을 제어하는ggml_rope_set_truncate
/ggml_rope_get_truncate
를 추가함TRI
역전파를 구현하고,MUL_MAT
의 src1 정밀도 테스트와 적용 조건,ggml_prec_set_acc
호출의 기준 정밀도 준수를 반영함RPC 프로토콜 v9에서 로딩 시간을 개선하고, 접근 불가능한 엔드포인트와 핸드셰이크 실패를 정상적으로 처리함
공통 실행 스케줄러와 MoE 캐시
스케줄러는 읽지 않는 입력을 업로드하지 않으며, 앞선 실행 분할에서 계산한 입력만 프리페치함MoE 캐시는 캐시 미스의 일부를 CPU에서 계산하고 결과를 비동기로 복사할 수 있음- Meta 백엔드는 텐서 수가 적은 버퍼의 계산 뷰 한도를 높임
CUDA는 작은 배치와 적은 행 수에 맞춘 행렬 곱셈 경로를 확장함- 배치 크기 2~24용 MMQ와 행 수가 적은 BF16 행렬용 MMVF를 추가함
- OCP FP8을 지원하고, MMQ에서 NVFP4 gate/up 행렬 곱셈과 GLU를 융합함
- FlashAttention에 sm70의 헤드 크기 256 설정과 MMA 헤드 크기 40/72를 추가함
CUDA MoE는 빈 MMQ stream-k 타일을 건너뛰고, 데이터 배치를 선형화하며, 바이어스 적용 후 NaN을 처리함CUDA 그래프와 메모리 처리도 개선함HIP는 고정 BLAS 작업 공간을 사용하고, CDNA2용 MFMA lightning indexer를 추가함Metal은 MoE 라우팅을 융합하고, 융합 가능한 노드 그룹을 하나의 명령 버퍼 안에 유지함- CUDA와 Metal 모두 radix Top-K에서 동률일 때도 선택 결과가 일정하도록 변경함
Vulkan, SYCL, OpenCL 실행 경로 확장
Vulkan에 Intel용 FlashAttention 프리필 커널을 추가함- CM2에서 역양자화된 KV 최적화, RDNA3/4의 대형 타일 split-K를 활성화함
- AMD 독점 드라이버 26.10.1 이상에서 대형 coopmat 행렬 곱셈 설정을 다시 활성화함
- 텐서 일괄 복사와 ReBAR 감지를 추가하며, ReBAR 미지원 시 BAR 할당을 피함
- MoltenVK의 범위 밖 접근과 FlashAttention 임시 버퍼 크기 검사를 수정함
- Qualcomm에서 헤드가 큰 경우 스칼라 FlashAttention을 8행으로 제한함
SYCL에 장치 측 MoE 스케줄러를 추가함OpenCL은 Adreno용 분해형 FlashAttention을 추가하고 디코딩 성능을 개선함
WebGPU, Hexagon, CPU 지원 확대
WebGPU는 텐서 일괄 처리 API를 지원하고,get_max_size
에서maxBufferSize
를 반환함GROUP_NORM
,MEAN
,COUNT_EQUAL
,PAD_REFLECT_1D
커널을 추가함
Hexagon은 Q5_0/Q5_1을 지원하고,conv_2d
최적화와conv_3d
지원을 추가함CPU는MUL_MAT
의 src1을 F32로 전환하고, FlashAttention V를 F32로 누적함CANN은 지원하지 않는 버퍼 유형을 조기에 거부함ZDNN은 non-zdnn 텐서를 허용하고 매 연산 후 계산 텐서를 무효화하며, 릴리스 바이너리의 백엔드 라이브러리 감지를 수정함