huggingface/kernels
Build compute kernels and load them from the Hub.
해결하는 문제
Python 라이브러리와 애플리케이션이 기존의 Python 패키지 설치 및 PYTHONPATH 제한을 우회하여 Hugging Face Hub에서 직접 최적화된 연산 커널을 동적으로 로드할 수 있는 방법을 제공합니다.
작동 방식
이 프로젝트는 사용자가 Hub에서 특정 버전의 커널을 다운로드하고 실행할 수 있게 해주는 Python 패키지 (kernels) 로 구성되어 있습니다. 개발자를 위해 이러한 이식 가능하고 호환되는 커널을 생성하는 kernel-builder 도구가 포함되어 있습니다. 이 커널들은 서로 다른 Python 버전, PyTorch 빌드 구성, 그리고 다양한 하드웨어 백엔드 전반에서 이식성을 유지하도록 설계되었습니다.
대상 사용자
- AI 개발자: 복잡한 설치 과정을 관리할 필요 없이 고성능의 최적화된 연산 커널을 사용하고자 하는 분.
- 커널 작성자: 여러 하드웨어 아키텍처와 소프트웨어 환경에서 작동하는 이식 가능한 커널을 빌드하고 배포할 도구가 필요한 분.
주요 특징
- 동적 로딩:
PYTHONPATH에 포함할 필요 없이 Hub에서 커널을 로드. - 버전 관리: 단일 Python 프로세스 내에서 동일한 커널의 여러 버전을 로드하는 기능 지원.
- 광범위한 하드웨어 지원: CUDA, CPU, ROCm, XPU, Metal, TPU 등 다양한 지원 수준의 하드웨어 지원.
- 이식 가능한 호환성: 다양한 PyTorch 빌드 구성 및 C++ ABI 전반에서 작동하도록 설계.
관련
- Dispatch
- Dispatch
- Dispatch
- 프로젝트
- Dispatch