GPUKernelContest/docs/TileLang.md

5.6 KiB
Raw Blame History

TileLang 国产GPU开发项目文档项目背景+快速上手+生态贡献)

一、项目背景

1. 行业痛点国产GPU生态的核心挑战

当前智算与通用计算领域中GPU内核开发面临双重困境一方面国际主流GPU开发语言学习成本高、代码量大开发者需兼顾性能优化与生产力门槛较高另一方面国产GPU虽在硬件性能上逐步追赶但软件生态适配相对来说还有很大的进步空间缺乏轻量化、高效的开发工具链导致硬件算力难以充分释放生态协同性不足。

2. 解决方案TileLang的技术突破

TileLang作为TileLang社区主导的GPU内核领域专用语言以“高效开发+性能不妥协”为核心,针对性解决行业痛点:

  • 开发效率革命采用Python式简洁语法实现FlashAttention算子仅需80行代码并保持了与官方版本持平的性能。这种代码量的大幅减少不仅降低了开发门槛也提高了维护性和可读性。
  • 分层接口适配提供3个层次编程接口覆盖从初学者到专家的全阶段需求降低国产GPU开发门槛
  • 多硬件兼容已在MACA曦云C500、英伟达H100/A100、AMD MI250/MI300X等多类GPU上验证适配支持“cuda/hip/cpu”多目标编译兼容性广泛。

3. 生态协同MACA与开源社区的落地支持

为推动TileLang在国产GPU上的实际应用MACA国产高性能GPU代表厂商与开源社区联合行动

  • 硬件适配MACA AI编译器团队和TileLang社区合作已提前参与该项目探讨MACAGPU与TileLang的适配开源仓库mcTileLang通过MXMACA软件栈实现深度协同核心算子如DeepSeek_MLA FullCol性能达国际主流产品的119.16%,部分场景实现超越;
  • 在线环境搭建在模力方舟平台提供预配置的TileLang在线体验环境开发者无需自行搭建硬件直接基于曦云C50064GB显存、Intel Xeon Gold 6530来进行开发
  • 资源支持:提供专属算力券降低体验成本,同时开源完整适配代码与文档,助力生态共建。

4. 项目意义

本项目通过“语言工具+国产硬件+在线平台”的组合打破国产GPU生态“硬件强、软件弱”的僵局为开发者提供“开箱即用”的国产GPU开发方案推动中国算力产业从“单点突破”转向“生态共荣”助力智算、通用计算领域的国产化替代与创新发展。

二、快速上手TileLang国产GPU开发实践

1. 环境准备获取TileLang开发资源

在线体验

  1. 访问模力方舟算力市场:https://ai.gitee.com/compute
  2. 领取TileLang专属算力券兑换曦云C500 GPU容器资源
  3. 选择“TileLang 0.1.5 / Python 3.10”镜像,启动容器。

2. 进阶探索:更多算子与工具

  • 查看examples目录获取FlashAttention、Dequant GEMM、MLA Decoding等算子示例
  • 使用调试工具
  • 性能优化

三、生态贡献指南邀您共建TileLang国产GPU生态

为持续完善mcTileLang仓库功能、降低开发门槛诚邀所有开发者参与贡献重点欢迎Issue反馈Docs/Example类型PR,具体指南如下:

1. 积极反馈提交Issue助力仓库优化

当您遇到以下场景时欢迎通过仓库“Issues”模块提交反馈帮助团队定位问题、明确方向

  • 功能需求:需要新增算子示例(如卷积、稀疏注意力)、补充特定硬件适配文档;
  • Bug反馈:运行示例代码报错、性能不符合预期、编译过程异常(需附报错日志与环境信息);
  • 文档疑问现有文档如安装步骤、API说明不清晰、存在疏漏
  • 优化建议:对内核性能、接口易用性、编译速度的改进想法。

提交Issue时请选择对应标签如“feat request”“bug”“doc”描述清晰场景与需求便于社区快速响应。

2. 主动共建提交Docs/Example类型PR

mcTileLang仓库的docs(文档)与examples示例目录是生态核心组成部分尤其欢迎以下类型PR共建更易用的开发资源

1Docs类型PR完善文档体系

  • 教程迁移将已有的基于cuda的教程文档迁移到metax上
  • 新增教程补充“TileLang布局优化实战”“MACAGPU性能调优指南”等进阶教程
  • 更新说明同步API变更如新增的接口、修正安装步骤中的过时信息
  • 补充案例:在文档中添加“常见问题排查”(如容器启动失败、编译报错解决)。

2Example类型PR丰富算子示例

  • 新增算子提交RetNet、Mamba等新兴模型的TileLang实现或补充现有算子的优化版本如支持不同精度或者混合精度的算子
  • 硬件适配提供算子在GPU如曦云C500上的适配示例与性能分析。

3PR提交流程

  1. Fork mcTileLang仓库到个人账号
  2. 创建专属分支(如doc/update-install-guideexample/add-fp8-gemm
  3. 完成修改后提交PR并关联相关Issue如没有可以自己提交Issue并进行关联
  4. 参考仓库CONTRIBUTING.md确保代码风格、文档格式符合规范,等待审核合并。

四、资源汇总