Page 114 - My FlipBook
P. 114
大
實驗
室
電腦系統實驗室
Research Laboratories 研究人員 電腦系統實驗室成立於 2009 年。主要研究領域包括動態二元碼編譯,編譯器與平行計算
機結構,非揮發性記憶體設計與管理,整合記憶體架構之電腦系統。
吳真貞 / 召集人
一、動態自動平行化與效能優化技術研究
研究員
現今的處理器設計趨勢,主要以提高處理器的平行計算能力,以提高其運算的效能。
王建民 不同的處理器架構常採用不同的平行化計算模型,例如:CPU 使用多核心與單指令多
資料流 (SIMD),GPU 使用巨量執行緒,而特定領域加速器則使用了特別的平行計算模
副研究員 型。然而,這樣的平行模型多樣性卻帶來軟體開發與維護的負擔,並增加軟體開發所
需的時程。為了解決這個問題,我們提出了一個編譯器技術的解決方案,稱為動態二
李丕榮 元碼翻譯 (Dynamic Binary Translation)。軟體開發者只需編寫一種平行模型的程式,透
過二元碼翻譯,自動將程式執行碼轉換成其他的平行模型。我們首創的二元碼動態「迴
研究員 圈改寫」方法,成功地將程式執行碼的迴圈做最佳向量化 (vectorization),大幅提升了
程式的平行度。本計劃目標為設計一個跨處理器架構的二元碼優化系統,我們將研究
張原豪 不同平行模型的特性,研究更多平行模型間的轉換方法,以及利用處理器指令集的新
功能帶來更多可能的效能提升。
研究員
圖一:動態二元碼翻譯與自動平行化優化系統。
二、支援人工智慧之優化編譯器技術
近年來,許多深度學習模型 ( 例如 CNN, RNN, LSTM, GAN) 已被廣泛應用於各個領域。
除此之外,計算機架構也朝向多元發展 ( 例如 CPU, GPU, GPGPU, DSP, FPGA, AI 加速器
等 ),無論是高階伺服器或是嵌入式系統,我們也觀察到這些平台上通常配備了異質
或非對稱性 (heterogeneous/asymmetric) 的運算裝置,如 CPUs + GPUs, and/or FPGAs。
在這樣多個深度學習模型與多個運算架構的組合下,我們需要一個方法,能夠有效地
將各種深度學習模型對應到各種計算機架構。為完成此目標,我們目前正在設計一個
優化深度學習的編譯器 (AI Compiler)。針對異質性或非對稱性平台,深度學習編譯器
將根據平台上運算裝置的特性或限制,以及分析深度學習模型的圖形結構,編譯出最
佳的協同運算方式。此編譯流程涉及異質運算,排程,以及編譯器優化技術。效能的
可移植性 (performance portability) 和運算裝置的可擴展性 (extensibility) 將是設計此編
譯器的重要研究目標。另外,我們也研究如何利用機器學習理論來輔助我們找到最佳
的編譯優化方案。
112
實驗
室
電腦系統實驗室
Research Laboratories 研究人員 電腦系統實驗室成立於 2009 年。主要研究領域包括動態二元碼編譯,編譯器與平行計算
機結構,非揮發性記憶體設計與管理,整合記憶體架構之電腦系統。
吳真貞 / 召集人
一、動態自動平行化與效能優化技術研究
研究員
現今的處理器設計趨勢,主要以提高處理器的平行計算能力,以提高其運算的效能。
王建民 不同的處理器架構常採用不同的平行化計算模型,例如:CPU 使用多核心與單指令多
資料流 (SIMD),GPU 使用巨量執行緒,而特定領域加速器則使用了特別的平行計算模
副研究員 型。然而,這樣的平行模型多樣性卻帶來軟體開發與維護的負擔,並增加軟體開發所
需的時程。為了解決這個問題,我們提出了一個編譯器技術的解決方案,稱為動態二
李丕榮 元碼翻譯 (Dynamic Binary Translation)。軟體開發者只需編寫一種平行模型的程式,透
過二元碼翻譯,自動將程式執行碼轉換成其他的平行模型。我們首創的二元碼動態「迴
研究員 圈改寫」方法,成功地將程式執行碼的迴圈做最佳向量化 (vectorization),大幅提升了
程式的平行度。本計劃目標為設計一個跨處理器架構的二元碼優化系統,我們將研究
張原豪 不同平行模型的特性,研究更多平行模型間的轉換方法,以及利用處理器指令集的新
功能帶來更多可能的效能提升。
研究員
圖一:動態二元碼翻譯與自動平行化優化系統。
二、支援人工智慧之優化編譯器技術
近年來,許多深度學習模型 ( 例如 CNN, RNN, LSTM, GAN) 已被廣泛應用於各個領域。
除此之外,計算機架構也朝向多元發展 ( 例如 CPU, GPU, GPGPU, DSP, FPGA, AI 加速器
等 ),無論是高階伺服器或是嵌入式系統,我們也觀察到這些平台上通常配備了異質
或非對稱性 (heterogeneous/asymmetric) 的運算裝置,如 CPUs + GPUs, and/or FPGAs。
在這樣多個深度學習模型與多個運算架構的組合下,我們需要一個方法,能夠有效地
將各種深度學習模型對應到各種計算機架構。為完成此目標,我們目前正在設計一個
優化深度學習的編譯器 (AI Compiler)。針對異質性或非對稱性平台,深度學習編譯器
將根據平台上運算裝置的特性或限制,以及分析深度學習模型的圖形結構,編譯出最
佳的協同運算方式。此編譯流程涉及異質運算,排程,以及編譯器優化技術。效能的
可移植性 (performance portability) 和運算裝置的可擴展性 (extensibility) 將是設計此編
譯器的重要研究目標。另外,我們也研究如何利用機器學習理論來輔助我們找到最佳
的編譯優化方案。
112