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 的开发环境,使其成为一个真实、可运行的代码库,而非静态教程。

如何开始

  1. 前提条件 – 支持 CUDA 的 NVIDIA GPU(驱动 ≥ 580 / CUDA 13.0)。
  2. 克隆 stable 分支(与线上网页版本匹配)或 main(如果你计划贡献)。
    git clone --branch stable https://github.com/modular/mojo-gpu-puzzles
    cd mojo-gpu-puzzles
    
  3. 安装推荐的包管理器 pixi(管理 Modular 的 MAX/Mojo 包和 GPU 依赖)。
    curl -fsSL https://pixi.sh/install.sh | sh
    
  4. 本地构建并查看拼图书:
    pixi run book   # 在 http://localhost:3000 启动 mdBook 服务器
    
  5. 编辑 problems/pXX/ 下的对应文件来解决拼图。骨架中包含 # FILL ME IN 占位符;你只需添加代码。
  6. 在 GPU 上测试你的解决方案:
    pixi run tests p05   # 运行第 5 个拼图的 GPU 加速测试
    
    可选的沙箱工具(memcheckracecheck 等)可用于调试内核错误。

开发与贡献

  • 该仓库使用 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
  • 项目