返回首頁

AI 開發工具

Mojo 開放編譯器與工具鏈原始碼,單一 Bazel 指令可由源碼建置

Modular 在 Mojo 1.0 發布一週後,將 KGEN 編譯器、工具與標準函式庫以 Apache 2.0 加 LLVM 例外條款公開。原始碼已可檢視及自行建置,但編譯器暫不接受外部貢獻,MAX 亦維持獨立授權。

Joe Gallo · CC BY-SA 4.0 · Image source
zh-Hant

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 思路之上,把高階型別與編譯期運算逐步降低至硬體相關表示。對 AI 基礎設施團隊而言,開放編譯器意味著可以稽核 lowering、追蹤錯誤程式碼生成、固定供應鏈版本,亦能研究新加速器後端,不必完全信任預編譯二進位檔。這與 8 月 11 日發布的 Mojo 1.0 相互配合;1.0 開始承諾核心語言的來源相容性,而非宣稱所有標準函式庫 API 已完全穩定。

「開源」目前仍不等於成熟的社群治理。Modular 表示暫不接受編譯器及工具鏈的外部貢獻,目標是在年底前開放;若要修改 MAX 的模型或核心,現階段部分流程仍需要預建 Mojo 編譯器。MAX 的使用與散布也採 Modular Community License,不能因同處一個儲存庫便假定整個推論平台均屬 Apache 2.0。工程團隊應先以獨立核心或 Python 熱點進行試點,並檢查 GPU 後端、ABI、套件管理及可重現建置,再考慮把它納入生產工具鏈。

來源

  1. Mojo is now open source!
  2. The Modular Platform — source repository
  3. Mojo compiler is on GitHub now