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