Mojo,由 LLVM 的創建者 Chris Lattner 創建的新編程語言

魔力郎

Mojo 是一種新的編程語言,有望為機器學習開發提供更好的性能

前幾天有消息爆出 克里斯·拉特納, LLVM的創始人兼首席架構師和 蒂姆·戴維斯 前谷歌人工智能項目負責人 發布了一種新的編程語言“Mojo”, 基於 Python,修復了 Python 實現和性能問題。

據說莫喬 結合了研發的易用性 以及適合高性能最終產品的快速原型製作。 前者是通過使用 Python 語言熟悉的語法來實現的,後者是由於能夠編譯為機器代碼、安全內存管理機制以及使用硬件加速計算的工具。。

關於魔卓

這種新的編程語言 專注於機器學習開發的使用, 但是,是的e 呈現為通用語言 它通過系統編程擴展了 Python 語言的功能,適用於廣泛的任務。

例如,該語言適用於高性能計算、數據處理和數據轉換等領域。 Mojo 的一個有趣功能是能夠將“🔥”表情符號指定為代碼文件的擴展名。

該項目旨在涉及硬件資源 計算中系統中可用的系統。 例如,GPU、專用機器學習加速器和矢量處理指令 (SIMD) 可用於運行 Mojo 應用程序和並行計算。

開發一個單獨的 Python 語言子集,而不是加入現有的 CPython 優化工作的原因被引用為:

構建方法、系統編程功能的集成以及使用根本不同的內部架構,允許代碼在 GPU 和各種硬件加速器上執行。 同時,Mojo 開發人員打算盡可能堅持 CPython 支持。

Mojo 既可用於 JIT 解釋模式,也可用於編譯成可執行文件 (AOT,提前)。 該編譯器內置了用於自我優化、緩存和分佈式編譯的現代技術。

編碼 Mojo 語言中的源代碼被轉換為低級中間代碼 MLIR(多級中間表示),由 LLVM 項目開發並提供額外的功能來優化數據流圖的處理。

使用額外的硬件機制來加速計算使您能夠通過密集計算獲得優於 C/C++ 應用程序的性能。

Chris Lattner 負責創建我們今天所依賴的許多項目,儘管我們可能甚至沒有聽說過他構建的所有項目! 作為他博士論文的一部分,他開始了 LLVM 的開發,它從根本上改變了編譯器的構建方式,如今已成為世界上許多使用最廣泛的語言生態系統的基礎。

然後,他繼續發布 Clang,這是一種 C 和 C++ 編譯器,位於 LLVM 之上,被世界上大多數頂級軟件開發人員使用(包括為性能關鍵代碼提供主幹)。谷歌)。 

在評估機器學習故障排除領域的性能時,發現與基於 TensorFlow 庫的解決方案相比,用 Mojo 語言編寫的模塊化推理引擎 AI 堆棧在具有英特爾處理器的系統上快 3 倍

然而,Chris 發現 C 和 C++ 並未充分利用 LLVM 的強大功能,因此在 Apple 工作期間,他設計了一種名為“Swift”的新語言,他將其描述為“LLVM 的語法糖”。 

值得一提的是 語言支持靜態類型和安全的低級內存功能 這讓人想起 Rust 的功能,例如參考生命跟踪和可變借用(貸款檢查器)。

除了使用指針進行安全操作的方法外,語言 還為低級工作提供功能, 例如,可以使用指針類型在不安全模式下直接訪問內存,調用單個 SIMD 指令,或訪問 TensorCores 和 AMX 等硬件擴展。

目前, 語言正在深入發展 並且只提供接口 在線嘗試。 未來的承諾是在收到有關交互式 Web 環境工作的反饋後,發佈單獨的版本以在稍後在本地系統上運行。

編譯器、JIT等項目相關開發的開源代碼是在內部架構設計完成後進行的(閉門工作原型的開發模式類似於LLVM、Clang和Swift的開發初期)。

由於 Mojo 的語法基於 Python,類型系統接近 C/C++,因此未來計劃開發一套工具,以便更輕鬆地將現有的 C/C++ 和 Python 編寫的項目轉換為 Mojo,以及至於開發結合了 Python 和 Mojo 代碼的混合項目。

最後,如果你有興趣了解更多,可以諮詢詳情 在下面的鏈接中。


發表您的評論

您的電子郵件地址將不會被發表。 必填字段標有 *

*

*

  1. 負責資料:AB Internet Networks 2008 SL
  2. 數據用途:控制垃圾郵件,註釋管理。
  3. 合法性:您的同意
  4. 數據通訊:除非有法律義務,否則不會將數據傳達給第三方。
  5. 數據存儲:Occentus Networks(EU)託管的數據庫
  6. 權利:您可以隨時限制,恢復和刪除您的信息。

  1.   海梅 他說:

    這個石標很有趣…… (沒有口音)