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