Date of Award
Master of Science (MS)
Electrical and Computer Engineering (Holcomb Dept. of)
Dr. Melissa C. Smith, Committee Chair
Dr. Walter B. Ligon
Dr. Richard R. Brooks
Most modern high-performance computing systems comprise of one or more accelerators with varying architectures in addition to traditional multicore Central Processing Units (CPUs). Examples of these accelerators include Graphic Processing Units (GPU) and Intel’s Many Integrated Cores architecture called Xeon Phi (PHI). These architectures provide massive parallel computation capabilities, which provide substantial performance beneﬁts over traditional CPUs for a variety of scientiﬁc applications. We know that all accelerators are not similar because each of them has their own unique architecture. This diﬀerence in the underlying architecture plays a crucial role in determining if a given accelerator will provide a signiﬁcant speedup over its competition. In addition to the architecture itself, one more diﬀerentiating factor for these accelerators is the programming language used to program them. For example, Nvidia GPUs can be programmed using Compute Uniﬁed Device Architecture (CUDA) and OpenCL while Intel Xeon PHIs can be programmed using OpenMP and OpenCL. The choice of programming language also plays a critical role in the speedup obtained depending on how close the language is to the hardware in addition to the level of optimization. With that said, it is thus very diﬃcult for an application developer to choose the ideal accelerator to achieve the best possible speedup. In light of this, we present an easy to use Graphical User Interface (GUI) Tool called X-MAP which is a performance prediction tool for porting algorithms and applications to architectures which encompasses a Machine Learning based inference model to predict the performance of an applica-tion on a number of well-known accelerators and at the same time predict the best architecture and programming language for the application. We do this by collecting hardware counters from a given application and predicting run time by providing this data as inputs to a Neural Network Regressor based inference model. We predict the architecture and associated programming language by pro
viding the hardware counters as inputs to an inference model based on Random Forest Classiﬁcation Model. Finally, with a mean absolute prediction error of 8.52 and features such as syntax high-lighting for multiple programming languages, a function-wise breakdown of the entire application to understand bottlenecks and the ability for end users to submit their own prediction models to further improve the system, makes X-MAP a unique tool that has a signiﬁcant edge over existing performance prediction solutions.
Shetty, Ashrit, "X-MAP A Performance Prediction Tool for Porting Algorithms and Applications to Accelerators" (2017). All Theses. 2757.