前幾天有消息爆出 克里斯·拉特納, 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 代碼的混合項目。
最後,如果你有興趣了解更多,可以諮詢詳情 在下面的鏈接中。
這個石標很有趣…… (沒有口音)