b11422: cuda: MUSA에서 벡터 라이트닝 인덱서 커널 사용 (#29990)
요약
본 문서는 MUSA 아키텍처의 메모리 제약 사항(28 KB)으로 인해, 타일 커널이 쿼리를 스테이징하는 방식에 변화를 가져왔습니다. 이로써 헤드 패스에서 라이트닝 인덱서가 쿼리를 스테이징하며, 이는 기존 벡터 커널을 유지하고 CUDA 및 ROCm 환경에서도 원활하게 작동하도록 개선되었습니다.
핵심 포인트
- MUSA 아키텍처의 메모리 제한(28 KB)에 대응하여 변경 사항이 발생했습니다.
- 쿼리 스테이징 과정에서 라이트닝 인덱서가 헤드 패스를 거치게 되었습니다.
- 개선된 커널은 기존 벡터 커널을 유지하며 CUDA/ROCm 호환성을 확보했습니다.
- cuda: MUSA용 헤드 패스에 라이트닝 인덱서 쿼리 스테이징
MUSA 아키텍처 21과 22는 정적 공유 메모리를 28 KB로 제한하며, 타일 커널은 네 개의 모든 헤드의 쿼리를 키 타일 옆에 33 KB로 스테이징했습니다. 이제 쿼리는 LIGHTNING_INDEXER_TILE_HEADS_PER_PASS 헤드 패스(MUSA에서 25 KB)를 거쳐 스테이징됩니다: MUSA에서는 두 개, 다른 곳에서는 네 개이며 단일 패스가 이전 커널에 접히는 방식입니다.
- cuda: MUSA용 벡터 라이트닝 인덱서 커널 사용
am17an의 주소 검토 결과: 타일 커널은 여전히 MUSA에서 실행되며, 해당 아키텍처 21과 22는 필요한 33 KB보다 낮은 28 KB로 정적 공유 메모리를 제한하므로, MUSA는 이전에 실행했던 벡터 커널을 유지합니다. 이는 헤드 패스를 대체하며, CUDA와 ROCm은 병합된 커널을 변경 없이 실행합니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 llama.cpp Releases의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기