modular/mojo-gpu-puzzles

Learn GPU Programming in Mojo🔥 by Solving Puzzles

Mojo 🔥 GPU パズル – 何であるか

Mojo GPU Puzzles は、Mojo で GPU コードを書く方法を教えるオープンソースでインタラクティブな学習キットです。Modular のシステムレベル言語である Mojo は、Python に似た構文とコンパイルコードのパフォーマンスを融合しています。このリポジトリには、自己完結型のパズル(問題ファイル)とその解答、そして実際の GPU 上でコードをビルド・実行・テストするためのツールが含まれています。


なぜ重要なのか

  • Mojo は AI ハードウェアプログラミングの次世代言語として位置づけられています – コストゼロの抽象化、強力な静的型システム、組み込みのテンソルプリミティブを備えながらも、Python のように感じられます。
  • GPU を直接プログラミングするスキルは、高性能 AI タスク(モデル学習、推論、カスタムカーネル)において不可欠です。このパズルは教科書の負担をかけずに、実践的な経験を提供します。
  • このプロジェクトには CI パイプライン、サニタイザー、pixi をベースにした開発環境が同梱されており、静的なチュートリアルではなく、現実的で実行可能なコードベースです。

はじめ方

  1. 前提条件 – CUDA 対応の NVIDIA GPU(ドライバー ≥ 580 / CUDA 13.0)。
  2. stable ブランチ(ライブ Web バージョンと一致)をクローンするか、貢献する予定なら 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 などのサニタイザーが提供されています。

開発と貢献

  • リポジトリはすべての開発コマンド(ブックのビルド、フォーマット、テスト実行、NVIDIA の compute-sanitizer の呼び出し)に pixi を使用しています。
  • CI チェックにより、問題のスケルトンと解答が同期されていることを保証し、未埋めのパズルがまだコンパイル可能であることを確認します。
  • 貢献を歓迎します:説明を改善、バグを修正、新しいパズルを追加してください。通常のフォーク・ブランチ・PR ワークフローに従い、バグ報告や機能リクエストのためのイシューテンプレートをご確認ください。

コミュニティとサポート

  • Discord: discord.gg/modular – 他の学習者や Modular チームとのリアルタイムチャット。
  • Modular Forum: 深い質問のためのディスカッションスレッド。
  • ニュースレター: README のリンクから購読し、新しいパズルエディションがリリースされた際に更新情報を受信。

ライセンス

コードは LLVM License の下でリリースされており、許可されたオープンソースライセンスです。


結論Mojo GPU Puzzles は、AI および高性能コンピューティングにおいてますます重要性を増す Mojo 言語で、実践的な GPU プログラミング経験を得られる、具体的で実行可能な教育プロジェクトです。

関連

  • Dispatch
  • Dispatch
  • Dispatch
  • Dispatch
  • プロジェクト