Vulkan 1.4.359, 협력 행렬 (Cooperative Matrix) 기능 확장
요약
Vulkan 1.4.359 업데이트를 통해 VK_EXT_cooperative_matrix_maintenance1 확장이 도입되었습니다. 이를 통해 단순 GEMM 커널을 넘어 타입 변환, 리덕션, 요소별 연산 등 협력 행렬 기능이 대폭 강화되었습니다.
핵심 포인트
- VK_EXT_cooperative_matrix_maintenance1 확장 도입
- 타입/사용 변환 및 리덕션, 요소별 연산 지원
- 머신러닝 추론 및 물리 시뮬레이션 가속화 기대
- NVIDIA, Qualcomm, Intel, Arm 엔지니어 협업
Vulkan 1.4.359, 협력 행렬 (Cooperative Matrix) 기능 확장

지난 2023년 Vulkan 1.3.255와 함께 Vulkan 및 SPIR-V IR을 위한 초기 협력 행렬 (cooperative matrix) 지원을 목적으로 VK_KHR_cooperative_matrix 확장이 도입되었습니다. VK_KHR_cooperative_matrix는 머신러닝 추론 (machine learning inference), 그래픽 후처리 (graphics post-processing), 물리 시뮬레이션 (physics simulations) 및 기타 작업에 사용될 수 있습니다. 이와 유사한 협력 행렬 지원은 이후 OpenCL에도 추가되었습니다.
Vulkan 1.4.359에는 이제 Vulkan의 협력 행렬 지원에 대한 일련의 마이너 개선 사항을 담은 VK_EXT_cooperative_matrix_maintenance1이 포함되어 있습니다. VK_EXT_cooperative_matrix_maintenance1은 단순한 GEMM 커널을 넘어 기능을 가속화하는 데 도움이 되는 추가 사항들을 가져왔으며, 이제 타입/사용 변환 (type/use conversions), 리덕션 (reductions), 요소별 연산 (per-element operations) 등을 지원합니다. 새로운 확장 기능 명세는 다음과 같이 설명합니다:
"이 확장은 VK_KHR_cooperative_matrix에 추가된 협력 행렬 타입 (cooperative matrix types)을 기반으로 몇 가지 새로운 기능을 추가합니다. 목표는 단순한 GEMM 커널을 넘어 기능을 추가하고 가속화하는 것이며, 여기에는 타입/사용 변환 (type/use conversions), 리덕션 (reductions), 요소별 연산 (per-element operations), 그리고 요소 인덱스를 행렬 좌표로 변환하는 기능에 대한 지원이 포함됩니다.
...
또한 이 확장은 협력 행렬의 속성을 조회하기 위한 새로운 명령을 제공하며, 이는 향후 다른 확장 기능에 의해 쉽게 확장될 수 있습니다. 새로운 쿼리에는 원하는 서브그룹 크기 (subgroup size)에 대한 입력과 (VK_NV_cooperative_matrix2와 같이 워크그룹 범위 협력 행렬을 지원하는 확장 기능과 함께 사용될 경우) 로컬 워크그룹 (local workgroup) 내의 인보케이션 (invocations) 수가 포함되어, 구현체가 특정 서브그룹 크기 또는 로컬 워크그룹 크기에 대해서만 최적화되거나 호환되는 속성을 노출할 수 있도록 합니다."
이 협력 행렬 업데이트는 NVIDIA, Qualcomm, Intel, 그리고 Arm 엔지니어들에 의해 작업되었습니다.
더 자세히 알고 싶은 분들은 Vulkan 1.4.359 변경 사항의 이 커밋을 통해 확인할 수 있습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 Phoronix의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기