인프라와 비용

llama.cpp, Vulkan RMS 정규화 최적화와 OpenCL 상태 복원 오류 수정

llama.cpp가 10월 27일 b11904~b11907, b11910 빌드를 공개했다. Vulkan의 RMS 정규화 연산을 손봤고, OpenCL에서 KV 캐시 상태 복원이 버려지지 않도록 고쳤다.

루카스 ·

llama.cpp 프로젝트가 2026년 10월 27일 b11904~b11907, b11910 빌드를 공개했다. Vulkan 백엔드의 RMS 정규화 연산을 서브그룹 리덕션으로 최적화한 변경(b11905)과, OpenCL 백엔드에서 KV 캐시 상태 복원이 버려지지 않도록 고친 변경(b11910)이 사용자에게 영향을 주는 수정이다.1,2

각 빌드는 GitHub 릴리스 페이지에서 받을 수 있다. 같은 릴리스에 macOS, Ubuntu, Android, Windows용 패키지가 함께 올라온다.2

b11905는 RMS 정규화 연산에 서브그룹 리덕션 경로를 넣었다. 두 번째 subgroupAdd를 건너뛰는 빠른 경로를 더했고, 서브그룹 리덕션 최적화에 AMD 벤더를 추가했다. 서브그룹을 쓰지 않는 경로에는 128, 256, 512 블록 크기를 넣었다. 릴리스 노트에는 속도 향상 수치가 없다.1

b11910의 커밋 제목은 상태 복원이 버려지지 않도록 set_tensor 단계에서 KV 캐시 뷰를 쓰게 했다는 내용이다. 수정 번호는 #30471이다.2

b11906은 ggml-cpu의 concat 연산을 모든 자료형에 쓰는 행 단위 커널 하나로 다시 짰다. 연속된 행은 memcpy 한 번으로 복사한다. 병렬화 방식도 바뀌어, i2 하나로만 나누던 것을 행 단위로 스레드에 분배한다. i2는 흔히 1이다. 복사는 32개 타일 단위로 하며, 전치된 입력은 타일 안의 행이 이웃한 메모리 주소를 읽도록 했다. 새로 넣은 전치 b 테스트와 성능 테스트는 delta-net conv 입력의 배치를 따른다.3

b11904는 SYCL 백엔드의 MMVQ 실행 설정을 템플릿화했다. b11907은 hyper-connection과 DSA 그래프 빌더가 쓰던 ggml_tensor** out-param을 출력 구조체로 바꿨다.4,5

댓글

기사에 대한 의견이나 틀린 내용 제보를 남겨 주세요.

댓글을 불러오고 있습니다.