Skip navigation

DSpace

機構典藏 DSpace 系統致力於保存各式數位資料(如:文字、圖片、PDF)並使其易於取用。

點此認識 DSpace
DSpace logo
English
中文
  • 瀏覽論文
    • 校院系所
    • 出版年
    • 作者
    • 標題
    • 關鍵字
    • 指導教授
  • 搜尋 TDR
  • 授權 Q&A
    • 我的頁面
    • 接受 E-mail 通知
    • 編輯個人資料
  1. NTU Theses and Dissertations Repository
  2. 電機資訊學院
  3. 資訊網路與多媒體研究所
請用此 Handle URI 來引用此文件: http://tdr.lib.ntu.edu.tw/jspui/handle/123456789/68359
標題: 基於程式相態特性分析與機器學習的矢量友好性預測
Estimation of Vector Friendliness Based on Program Phase
Profiles and Machine Learning
作者: En-Jung Chang
張恩榮
指導教授: 洪士灝
關鍵字: 向量指令集,向量友善度,機器學習,裝置友善度,程式相 態,程式分析,
Vector instruction set,Vector friendliness,Machine learning,Xeon Phi friendliness,Program phases,Profiling tool,
出版年 : 2017
學位: 碩士
摘要: 目前的大部分處理器都提供了向量指令, 這些指令可以藉由同時使用多個計算單元,提供比標量指令更高的性能。 雖然目前存在的編譯器都支援這些向量指令,但是編譯器可能因為一些限制使其將適合向量化的程式編譯成純量程式碼,例如非單位步長,條件分支和指針。
我們提出一個新的指標: 向量友善度(Vector Friendliness),向量友善度代表一個程式相位適合向量化的機率。再者,我們還定義了一個新名詞 Vector Intensive Phase (VIP),只要相位中向量行數大於 50%,我們就認定這個相位為 VIP。為了找到 VIP,我們利用一種機器學習模型 Recurrent Neural Network (RNN) 學習怎麼樣的 memory trace 是適合向量化的,其中,模型的輸入是 memory trace,模型的輸出為向量友善度。我們收集了許多程式,並且利用程式相位為主的模擬器去抽取 memory trace,接著使用一套自動標籤系統將所有收集到的程式相位標籤為 VIP 或者 non-VIP,除此之外,我們還提出一套合成資料生成器,用來合成更多的 memory trace,訓練完後,我們的模型準確度達90\%,我們發現利用 memory trace 去判斷 VIP 是可行的。在預測向量友善度之後,我們可以進一步去預測一個程式相位是否適合放在 Xeon Phi 上執行,我們使用多種指令比例作為 Support Vector Machine (SVM) 的輸入來預測 Xeon Phi friendliness,Xeon Phi friendliness代表一個程式相位適不適合放在 Xeon Phi 上執行,最終模型的準確度為 85%。
T Many of the today's processors provide vector instructions that can utilize multiple computing units in parallel to deliver higher performance than scalar instructions. While vectorizing compiler techniques exist to take advantage of vector instructions, it is often that the compiler fails to vectorize code sequences that could be manually converted into vector codes, due to restrictions such as non-units stride, conditional branches, and pointer.
We propose Vector Friendliness to quantize the probability that the program phase is suitable for vectorization. We also defined the Vector Intensive Phase (VIP). VIP represents a code sequence that it is suitable for vectorize. In order to find the VIP, we leverage Recurrent Neural Network (RNN) to recognize which program phase can be vectorized in terms of memory traces, help programmers identify the program phases that could have been vectorized manually, but not done by the compiler. Moreover, we collect programs from benchmarks and apply a program phase based profiler to extract the memory trace. Then use the proposed labeling system automatically classifies these program phases. After training, the accuracy of our model comes to 90\%. We found that using memory traces to classify VIP is feasible. Beyond vector friendliness, we use Support Vector Machine (SVM) to analyze the ration of various types of instructions and then report Xeon Phi friendliness.
URI: http://tdr.lib.ntu.edu.tw/jspui/handle/123456789/68359
DOI: 10.6342/NTU201704035
全文授權: 有償授權
顯示於系所單位:資訊網路與多媒體研究所

文件中的檔案:
檔案 大小格式 
ntu-106-1.pdf
  未授權公開取用
4.69 MBAdobe PDF
顯示文件完整紀錄


系統中的文件,除了特別指名其著作權條款之外,均受到著作權保護,並且保留所有的權利。

社群連結
聯絡資訊
10617臺北市大安區羅斯福路四段1號
No.1 Sec.4, Roosevelt Rd., Taipei, Taiwan, R.O.C. 106
Tel: (02)33662353
Email: ntuetds@ntu.edu.tw
意見箱
相關連結
館藏目錄
國內圖書館整合查詢 MetaCat
臺大學術典藏 NTU Scholars
臺大圖書館數位典藏館
本站聲明
© NTU Library All Rights Reserved