記憶體內運算(In-memory computing)已開發一段時間,然而軟體尚未推出或相容於這種運算架構。不過綜合外媒 Techxplore、Tom’s Hardware 報導,以色列理工學院(Technion)研究人員已開發可處理記憶體設計的軟體,特別是 Python 程式碼。
據悉,研究人員開發一套理論,建立一種以記憶體內運算為考量的程式語言,他們開發的軟體可將 Python 指令轉換成直接在電腦記憶體中執行的機器程式碼。
這種新的電腦語言被稱為「PyPIM」(Python Processing-in-Memory),如同 DXVK(DirectX 轉 Vulkan)等 API 轉換層一樣,PyPIM 也是轉換層,可將傳統 Python 程式碼轉換為可在這種新型運算方法上執行的程式碼。也因此,Python 程式設計人員可用傳統電腦的編寫方式來編寫,不需為了記憶體內運算而調整編寫風格。
據 Techxplore 顯示,軟體是記憶體電腦處理的關鍵環節之一,直到目前仍未完全開發。據報導,為傳統電腦編寫的運算程式碼自 1940 年代以來幾乎沒改變。Andrew and Erna Viterbi 電機與電腦工程學院的 Shahar Kvatinsky 教授表示,記憶體內運算的編寫程式碼與傳統運算不同,因此現有的電腦科學構成模組(building blocks)無法使用。
如果沒有 PyPIM 等轉換層,開發與處理器記憶體支援相容的應用程式將非常困難。低階機器程式碼需要重新編寫,以用於記憶體中處理部分運算,而在 CPU 上處理其餘部分。
記憶體內運算是新的運算方式,目的在解決記憶體延遲問題。記憶體內運算可使系統記憶體執行 CPU 本來會執行的運算,從而減少必須在 CPU 和 DRAM 之間傳輸的資料量。
三星和台積電正積極開發能做到這點的記憶體,包括 MRAM 記憶單元。記憶體內運算仍處於原型階段,但硬體部分已取得進展,有望成可行技術。
- Researchers develop Python code for in-memory computing — in-memory computation comes to Python code
(首圖來源:工研院)