b11476: metal: 나머지 src0 유형을 위한 적은 행 MMA mat-mul (#30065)
요약
이 기술 기사는 다양한 데이터 유형을 지원하는 범용적인 적은 행 MMA(Matrix Multiplication) 커널의 개선 사항에 대해 설명합니다. 이 업데이트를 통해 BF16, Q1_0 등 여러 새로운 양자화 및 부동소수점 형식이 추가되었으며, M3 Ultra 환경에서 성능 향상을 입증했습니다.
핵심 포인트
- 다양한 데이터 유형(BF16, MXFP4 등)을 지원하는 MMA 커널이 구현되었습니다.
- M3 Ultra에서 여러 행 수에 걸쳐 성능 개선이 확인되었습니다.
- 새로운 커널은 기존의 최고 성능 수준을 능가하는 행 수부터 시작합니다.
범용적인 적은 행 MMA 커널은 16개 가중치를 가진 모든 유형에 대해 작동하므로, 이제 BF16, Q1_0, Q2_0, MXFP4, Q2_K, Q3_K, TQ2_0 및 IQ 유형도 지원합니다. 각 유형은 M3 Ultra에서 현재 커널을 능가하는 행 수에서 시작하며, TQ2_0의 경우 5행, BF16의 경우 4행, MXFP4, Q2_0, Q2_K 및 IQ4_NL의 경우 3행, 그리고 나머지 유형은 2행입니다.
test-backend-ops perf -o MUL_MAT, m=4096, k=14336, M3 Ultra, 이 변경 사항이 master에 미치는 시간 (각 간격으로 인터리브된 두 번 실행의 평균): 임계값에서 8행까지는 0.23에서 0.98로, 9행에서 16행에서는 0.24에서 0.33으로, 그리고 1행과 512행에서는 0.99에서 1.01로 변화했습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 llama.cpp Releases의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기