llama.cpp 프로젝트는 두 세대 이상의 Adreno GPU에서 행렬 곱셈 성능을 개선하기 위해 OpenCL 백엔드를 업데이트했습니다. 이 변경사항은 기본적으로 xmem F16xF32 GEMM 경로를 채택하고 A7X 세대의 처리를 최적화하여 X2E 세대를 주로 타겟으로 합니다.
- 이전에 옵트인 환경 변수가 필요했던 X2E 장치에 대해 Adreno xmem F16xF32 GEMM을 기본 활성화로 변경했습니다.
- 레지스터 스플리핑 문제를 피하기 위해 배치된 연산을 행별 커널로 라우팅하여 Adreno A7X 컴파일러의 타일된 f32 GEMM을 우회합니다.
- xmem 최적화는 Adreno X2-90 장치에서 gpt-oss-20b에 대해 약 25%의 프리필 속도 향상을 제공하며, A7X 우회는 gemma-3n-E4B에서 약 9%의 개선을 가져옵니다.
이러한 최적화는 구형 및 신형 Adreno 실리콘의 특정 컴파일러 비효율성을 해결하여 모델 프리필 단계 동안 느린 행렬 곱셈 커널에 소요되는 GPU 시간을 줄입니다.