본문으로 건너뛰기

© 2026 Molayo

llama.cpp헤드라인2026. 06. 27. 21:56

[CUDA] ggml_cuda_cpy에 cudaMemcpy2DAsync 패스트 패스(fast path) 추가 ([#25057](https://g

요약

llama.cpp의 CUDA 구현에서 ggml_cuda_cpy에 cudaMemcpy2DAsync 패스트 패스를 추가하여 성능을 최적화했습니다. 텐서가 완전히 연속적이지 않은 경우에도 요소별 스칼라 복사 대신 비동기 2D 복사를 사용하여 효율성을 높였습니다.

핵심 포인트

  • cudaMemcpy2DAsync를 활용한 2D 피치 블록 복사 최적화
  • 비연속적 텐서의 행 단위 연속성을 활용한 복사 속도 개선
  • 특정 환경(-np 4)에서의 GDN 순환 스냅샷 업데이트 문제 해결
  • 새로운 스트라이드 복사 경로에 대한 테스트 케이스 추가

[CUDA] ggml_cuda_cpy에 cudaMemcpy2DAsync 패스트 패스(fast path) 추가 (#25057)

  • [CUDA] ggml_cuda_cpy에 cudaMemcpy2DAsync 패스트 패스 (fast path) 추가

단순한 2D 피치 블록 복사(pitched block copies)인 동일 유형, 동일 형태의 스트라이드 복사(strided copies)를 위한 CUDA ggml_cpy 패스트 패스 (fast path)를 추가합니다.
텐서가 완전히 연속적(contiguous)이지는 않지만 각 행이 연속적인 경우, 이제 느린 요소별 스칼라 복사 커널(element-wise scalar copy kernel) 대신 cudaMemcpy2DAsync를 사용합니다.

이는 롤백 슬롯(rollback slots)이 캐시 스트라이드 간격(cache stride gaps)에 의해 분리되는 -np 4 환경에서의 GDN 순환 스냅샷 업데이트(recurrent snapshot update) 문제를 해결합니다.

  • 새로운 최적화된 스트라이드 복사 경로를 실행하는 새로운 테스트 추가

  • 새로운 테스트가 실패함에 따라, OpenVINO에서의 스트라이드 복사(strided copy)에 대해 지원되지 않음(unsupported)을 반환

macOS/iOS:

Linux:

<strong>Linux:</strong>

<strong>Android:</strong>

<strong>Windows:</strong>

<strong>Windows:</strong>

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