在本章節,目的有二個 :
Python 語言已經是世界上最多人使用的語言之一,Python 官方使用的 Python Virtual Machine 是 Cpython, 但 CPython 被人詬病的除了 GIL 機制,還有在實作方面很難引入 Just in time compilation.。因此有另外一種具有 JIT 性質的 Python Virtual Machine - Pypy. 在此章,會介紹 Pypy 跟 Rpython Translation Toolchain 的那檔事。
在半導體業,不同廠商會推出自己的AI晶片,而在AI晶片之上,勢必須要編譯器的幫忙,把高階語言轉換成低階語言,並且進行高度的最佳化,徹底發揮、榨出AI晶片的效能!😊
Python 是非常熱門的程式語言,尤其在 Web 端、深度學習、資料科學領域、甚至是測試等備受重用,自它被發布之後,一直在 TIOBE 榜上有名,甚至蟬聯幾年的榜首。Python 語法強大的動態性、彈性、徹底的萬事萬物皆物件概念,寫起來真的就像 pseudo code 一樣,非常適合要入門寫程式的新手。然而,在語法高度彈性的背後,究竟擁有什麼樣的機制 ? 彈性的背後又會讓 Python 帶來什麼樣的限制 ? 接下來就讓我們探知這個強大動態語言的內在吧😊
MLIR 是一個開源編譯器的框架,也是一套完整的 toolbox,MLIR 深受 LLVM 影響,和 LLVM 的精神是一樣的,全名叫做 Multi-Level Intermediate Representation,這年頭聽到 ML 都會認為是 Machine Learning,不過有趣的是,MLIR 的確是為了機器學習而生,真的是美麗的巧合😉,在本篇會介紹 MLIR 概念以及目前有名的深度學習框架 tensorflow,之後的文章會利用官網上的教學來建出一個編譯器。