ROCm/composable_kernel
[DEPRECATED] Moved to ROCm/rocm-libraries repo. NOTE: develop branch is maintained as a read-only mirror
해결하는 문제
Composable Kernel (CK)는 기계학습 워크로드용 고성능 커널을 생성하기 위한 프로그래밍 모델을 제공합니다. 다양한 하드웨어 아키텍처(예: 다양한 GPU 및 CPU) 간의 성능 포터빌리티를 유지하면서도 코드의 유지보수성을 확보하는 도전 과제를 해결합니다.
작동 방식
CK는 HIP C++와 두 가지 주요 기술 개념을 사용하여 목표를 달성합니다:
- 타일 기반 프로그래밍 모델: 계산을 타일 단위로 조직하여 데이터 이동과 처리를 최적화합니다.
- 텐서 좌표 변환: 복잡한 기계학습 연산자의 알고리즘 복잡도를 줄이는 기법입니다.
라이브러리는 네 가지 계층으로 구성되어 있습니다: 템플릿 타일 연산자, 템플릿 커널 및 인보커, 인스턴스화된 커널 및 인보커, 클라이언트 API.
대상 사용자
다양한 하드웨어 타겟에서 효율적으로 실행되어야 하는 성능 중심의 ML 커널을 개발하는 개발자들을 위한 것입니다.
주요 특징
- 성능 포터빌리티: 다양한 GPU 아키텍처(예: gfx908, gfx90a, gfx1100) 및 CPU를 지원합니다.
- 다층 아키텍처: 템플릿 로직과 인스턴스화된 커널을 분리하여 유지보수성을 향상시킵니다.
- 광범위한 데이터 타입 지원: fp64, fp32, tf32, fp16, fp8, bf16, int8 등 다양한 정밀도를 지원합니다.
- 통합 도구 세트: 프로파일러(ckProfiler)와 코드 생성 시스템을 포함합니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트