modular/mojo-gpu-puzzles
Learn GPU Programming in Mojo🔥 by Solving Puzzles
Mojo 🔥 GPU 拼图 – 是什么
Mojo GPU Puzzles 是一个开源、交互式的教学工具包,教你如何在 Mojo 中编写 GPU 代码。Mojo 是 Modular 的系统级语言,融合了 Python 风格的语法与编译代码的性能。该仓库包含一系列自包含的拼图(问题文件)及其解决方案,以及用于在真实 GPU 上构建、运行和测试代码的工具。
为什么重要
- Mojo 被定位为下一代 AI 硬件编程语言 – 它提供零成本抽象、强大的静态类型系统和内置张量原语,同时仍像 Python 一样使用。
- 直接编程 GPU 是高性能 AI 工作负载(模型训练、推理、自定义内核)的核心技能。这些拼图提供了实践经验,而无需教科书的负担。
- 该项目附带 CI 流水线、沙箱工具和基于
pixi的开发环境,使其成为一个真实、可运行的代码库,而非静态教程。
如何开始
- 前提条件 – 支持 CUDA 的 NVIDIA GPU(驱动 ≥ 580 / CUDA 13.0)。
- 克隆 stable 分支(与线上网页版本匹配)或 main(如果你计划贡献)。
git clone --branch stable https://github.com/modular/mojo-gpu-puzzles cd mojo-gpu-puzzles - 安装推荐的包管理器 pixi(管理 Modular 的 MAX/Mojo 包和 GPU 依赖)。
curl -fsSL https://pixi.sh/install.sh | sh - 本地构建并查看拼图书:
pixi run book # 在 http://localhost:3000 启动 mdBook 服务器 - 编辑
problems/pXX/下的对应文件来解决拼图。骨架中包含# FILL ME IN占位符;你只需添加代码。 - 在 GPU 上测试你的解决方案:
可选的沙箱工具(pixi run tests p05 # 运行第 5 个拼图的 GPU 加速测试memcheck、racecheck等)可用于调试内核错误。
开发与贡献
- 该仓库使用 pixi 执行所有开发命令(构建书籍、格式化、运行测试、调用 NVIDIA 的
compute-sanitizer)。 - CI 检查确保问题骨架与解决方案保持同步,并且每个未填的拼图仍能编译。
- 欢迎贡献:改进说明、修复错误或添加新拼图。遵循常规的 fork-branch-PR 流程,并查看问题模板以提交错误报告或功能请求。
社区与支持
- Discord:
discord.gg/modular– 与其他学习者和 Modular 团队实时聊天。 - Modular 论坛: 深入问题的讨论线程。
- 新闻简报: 通过 README 中的链接订阅,当新拼图版本发布时接收更新通知。
许可证
代码以 LLVM 许可证 发布,一种宽松的开源许可证。
总结:Mojo GPU Puzzles 是一个具体、可运行的教育项目,让开发者在日益重要的 AI 和高性能计算领域中,通过 Mojo 语言获得实际的 GPU 编程经验。
相关
- Dispatch
- Dispatch
- Dispatch
- Dispatch
- 项目