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
  • 專案