본문으로 건너뛰기

© 2026 Molayo

llama.cpp헤드라인2026. 06. 28. 08:39

opencl: flash attention 개선 ([#25069](https://github.com/ggml-org/llama.cpp/pull/

요약

llama.cpp 프로젝트에서 OpenCL을 활용한 Flash Attention 커널 개선 사항을 반영했습니다. f16, f32 및 양자화된 q4_0, q8_0 형식을 지원하며, 패딩 및 마스킹 최적화를 통해 연산 효율을 높였습니다.

핵심 포인트

  • OpenCL 기반 Flash Attention 커널 재작업 및 지원 확대
  • f16, f32 및 q4_0, q8_0 양자화 형식 지원
  • 패딩 및 마스킹 최적화를 통한 연산 생략 기능 구현
  • MoE 텐서에 대한 SOA(Structure of Arrays) 적용

opencl: flash attention 개선 (#25069)

  • opencl: f16 및 f32를 위한 FA (Flash Attention) 커널 재작업

  • opencl: flash-attention prefill prepass 커널

  • flash_attn_kv_pad_f16은 tail KV tile을 BLOCK_N 배수로 패딩(pad)합니다.

  • flash_attn_mask_pad_f16은 일치하는 mask tile을 패딩(pad)합니다.

  • flash_attn_blk_f16은 각 query block당 KV tile을
    fully masked / mixed / fully unmasked로 분류하여,
    메인 커널이 fully-masked tile을 건너뛰고
    fully-unmasked tile에 대한 mask lookup을 생략할 수 있도록 합니다.

  • opencl: q4_0 및 q8_0를 위한 FA 커널

  • opencl: f32에서 q8_0/q4_0로의 set_rows 구현

  • opencl: q4_0 및 q8_0를 위한 dequant (dequantization) 커널

  • opencl: override 기능이 포함된 FA tile 튜닝 테이블 추가

  • opencl: FA를 위한 host side 연결

  • opencl: q4_0 MoE 텐서에 대해서도 SOA (Structure of Arrays) 적용

  • opencl: 외관 수정 (cosmetic fix)

  • opencl: 리팩토링(refactor) 및 주석을 통한 일부 코드 경로 명확화

  • opencl: -cl-finite-math-only에 대한 infinity 오류 수정


Co-authored-by: Li He lih@qti.qualcomm.com

macOS/iOS:

Linux:

Linux:

Android:

Windows:

Windows:

openEuler:

  • DISABLED
  • openEuler x86 (310p)
  • openEuler x86 (910b, ACL Graph)
  • openEuler aarch64 (310p)
  • openEuler aarch64 (910b, ACL Graph)**

UI:

AI 자동 생성 콘텐츠

본 콘텐츠는 llama.cpp Releases의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0