AI 開發工具
Mojoがコンパイラとツールチェーンのソースコードを公開、単一のBazelコマンドでソースからビルド可能に
ModularはMojo 1.0のリリースから1週間後、KGENコンパイラ、ツール、標準ライブラリをApache 2.0 with LLVM Exceptionsで公開した。ソースコードは閲覧および独自ビルドが可能になったが、コンパイラへの外部コントリビューションは現時点で受け付けておらず、MAXも引き続き別ライセンスで提供される。

Modularは8月18日、これまで非公開だったMojoコンパイラとツールチェーンを公開monorepoに追加し、このAI/ヘテロジニアスコンピューティング言語に残されていた最も重要な欠落を埋めた。標準ライブラリはすでに2024年に公開されており、今回新たに加わったのはKGENコンパイラ、ビルドツール、およびソースコードから実行可能なコンパイラを生成するために必要なコードだ。公式のBazelワークフローでは、`./bazelw run --config=build-mojo KGEN:mojo -- run hello.mojo`を使ってソースからビルドし、プログラムを実行できる。標準ライブラリのテストも同じビルドグラフ内で実行可能だ。
MojoはPythonに近い構文を採用しているが、開発者がメモリ、コンパイル時特殊化、およびCPU、GPU、AIアクセラレータのカーネルを制御できるようにすることを目指している。そのコンパイラはMLIR/LLVMの考え方を基盤とし、高水準の型とコンパイル時演算を段階的にハードウェア依存の表現へloweringする。AIインフラストラクチャチームにとって、コンパイラの公開は、loweringの監査、不正なコード生成の追跡、サプライチェーンにおけるバージョンの固定を可能にするほか、プリコンパイル済みバイナリを全面的に信頼することなく、新しいアクセラレータ向けバックエンドを研究できることを意味する。これは8月11日にリリースされたMojo 1.0と相互に補完する動きだ。1.0では、すべての標準ライブラリAPIが完全に安定したと宣言するのではなく、コア言語のソース互換性が保証され始めた。
現時点で「オープンソース」であることは、成熟したコミュニティガバナンスが確立されていることと同義ではない。Modularによると、コンパイラおよびツールチェーンへの外部コントリビューションは当面受け付けず、年末までの受け入れ開始を目指している。MAXのモデルまたはコアを変更する場合、現段階では一部のワークフローでビルド済みのMojoコンパイラが引き続き必要になる。MAXの使用と配布にもModular Community Licenseが適用されるため、同じリポジトリに収録されているという理由だけで、推論プラットフォーム全体がApache 2.0であると見なすことはできない。エンジニアリングチームは、まず独立したカーネルまたはPythonのホットスポットで試験導入し、GPUバックエンド、ABI、パッケージ管理、再現可能なビルドを検証したうえで、本番環境のツールチェーンへの組み込みを検討すべきだ。