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)和代码生成系统。
相关
- 项目
- 项目
- 项目
- 项目
- 项目