ggml-cuda : HIP 빌드에서 prop.integrated 복구 ([#24233](https://github.com/ggml-org/ll
요약
llama.cpp의 ggml-cuda 라이브러리에서 HIP 빌드 시 통합 GPU(integrated GPU) 속성이 잘못 설정되던 문제를 해결했습니다. 기존의 임시 방편이 CUDA 빌드에만 적용되도록 수정하여 AMD ROCm 환경에서의 호스트 버퍼 사용 문제를 복구했습니다.
핵심 포인트
- HIP/ROCm 빌드에서 장치의 prop.integrated 플래그 복구
- AMD APU/UMA 환경에서의 호스트 버퍼 사용 문제 해결
- Jetson Orin을 위한 기존 CUDA 임시 방편은 유지
- CUDA와 HIP 빌드 간의 장치 속성 설정 분리
ggml-cuda : HIP 빌드에서 prop.integrated 복구 (#24233)
PR #16308은 Jetson Orin에서의 출력 손상 문제(#15034)에 대한 임시 방편(workaround)으로 모든 CUDA/HIP 장치에 대해 info.devices[id].integrated = false를 무조건적으로 설정했습니다. HIP/ROCm의 경우 장치의 실제 hipDeviceProp_t.integrated 플래그가 필요합니다. 캐시된 필드가 false로 강제되면, supports_buft()가 AMD APU/UMA 파트에서 CUDA 호스트 버퍼를 거부하는 반면, get_type()은 이미 prop.integrated를 읽고 있기 때문에 (#23007) — 이러한 불일치는 ROCm에서 통합 GPU (integrated-GPU) 호스트 버퍼 사용을 방해합니다.
해당 임시 방편이 non-HIP (CUDA) 빌드에만 적용되도록 보호하고, HIP의 경우 prop.integrated를 복구하며, CUDA에 대한 Jetson 임시 방편은 그대로 유지합니다.
Fixes #23977
Signed-off-by: liminfei-amd 91481003+liminfei-amd@users.noreply.github.com
Website:
macOS/iOS:
- macOS Apple Silicon (arm64)
- macOS Apple Silicon (arm64, KleidiAI 활성화됨) 비활성화됨
- macOS Intel (x64)
- iOS XCFramework
Linux:
Linux:
- Ubuntu x64 (CPU)
- Ubuntu arm64 (CPU)
- Ubuntu s390x (CPU)
- Ubuntu x64 (Vulkan)
- Ubuntu arm64 (Vulkan)
- Ubuntu x64 (ROCm 7.2)
- Ubuntu x64 (OpenVINO)
- Ubuntu x64 (SYCL FP32)
- Ubuntu x64 (SYCL FP16)**
Android:
Windows:
Windows:
- Windows x64 (CPU)
- Windows arm64 (CPU)
- Windows arm64 (OpenCL Adreno)
- Windows x64 (CUDA 12) - CUDA 12.4 DLLs
- Windows x64 (CUDA 13) - CUDA 13.3 DLLs
- Windows x64 (Vulkan)
- Windows x64 (OpenVINO)
- Windows x64 (SYCL)
- Windows x64 (HIP)**
openEuler:
- DISABLED
- openEuler x86 (310p)
- openEuler x86 (910b, ACL Graph)
- openEuler aarch64 (310p)
- openEuler aarch64 (910b, ACL Graph)**
UI:
AI 자동 생성 콘텐츠
본 콘텐츠는 llama.cpp Releases의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기