huggingface/kernels

Build compute kernels and load them from the Hub.

解决的问题

它为 Python 库和应用程序提供了一种直接从 Hugging Face Hub 动态加载优化计算内核的方法,绕过了传统的 Python 包安装和 PYTHONPATH 限制。

运作方式

该项目包含一个 Python 包 (kernels),允许用户从 Hub 下载并执行特定版本的内核。对于开发者而言,它包含了一个 kernel-builder 工具来创建这些可移植、兼容的内核。这些内核旨在跨不同的 Python 版本、PyTorch 构建配置以及各种硬件后端实现可移植性。

目标对象

  • AI 开发者: 希望使用高性能、优化的计算内核,而无需管理复杂安装流程的人员。
  • 内核作者: 需要工具来构建和分发可移植内核,使其能在多种硬件架构和软件环境中运行的人员。

特色亮点

  • 动态加载: 从 Hub 加载内核,无需将其放入 PYTHONPATH。
  • 版本控制: 支持在单个 Python 进程中加载同一内核的多个版本。
  • 广泛的硬件支持: 支持 CUDA、CPU、ROCm、XPU、Metal、TPU 以及其他不同支持层级的硬件。
  • 可移植兼容性: 设计用于跨各种 PyTorch 构建配置和 C++ ABI。

相关

  • Dispatch
  • Dispatch
  • Dispatch
  • 项目
  • Dispatch