圖形加速器(GPU) 在這十年經由GPGPU的技術發展後,扮演著加速一般應用程式的重要角色,而GPGPU的加速效能會因不同的應用程式而也不同的效能結果。另外,要移植至GPU平台進行加速還需要另外撰寫GPU特定的程式(eg: CUDA、OpenCL),通常將這個區段的程式稱為kernel,而撰寫kernel片段都需額外花費時間或是精力。故若能直接在程式移植到GPU的平台前進行GPU的效能預測將對程式設計師有著重大的幫助。此篇論文利用機器學習的方式建制一個預測GPU效能的一個數學模型,運用Support Vector Machine(SVM) 這個監督式學習演算法,將動態蒐集到的資料在前處理後,進行GPU效能的訓練與預測。實驗成果方面,在已知實驗的平台下的預測有著 86\% 到 95\% 的準確度。為了讓此方法有跨平台的效果, 另外,將程式移植到著名的虛擬平台(Multi2sim)上,準確度方面依舊保持在平均水準。如此,我們可以建置多個虛擬平台下的數學模型,只要將虛擬平台設置成一個尚未出世的GPU規格,我們就能對未知的異質機器進行效能預估。
In past years, graphics processing units (GPUs) play an important role in accelerating the general applications by the growth of GPGPU technology. To gain the GPU speedup, programmers always need to rewrite the sequential sections of programs to the GPU specified codes (e.g. CUDA, OpenCL or OpenACC) called extsl{kernels}. Although some applications get significant GPU speedup, it may take programmers too much time to write the extsl{kernels} with choosing improper sections of a program. In addition, different program inputs may get the different result of GPU performance. It is helpful and useful for programmers to have a GPU speedup predictor before writing extsl{kernels}. This paper use machine learning technique to model a GPU speedup predictor. By utilizing support vector machine (SVM) which is a supervised learning algorithm and dynamic program profiles to estimate roughly GPU performance. In the result of our approach, we achieve 86\% to 96\% accuracy on real GPGPU applications. Moreover, we port GPGPU applications to a virtual platform Multi2sim so that users can predict the GPU speedup without physical hardware, and its accuracy is also kept at a certain level.
為了持續優化網站功能與使用者體驗,本網站將Cookies分析技術用於網站營運、分析和個人化服務之目的。
若您繼續瀏覽本網站,即表示您同意本網站使用Cookies。