Master Thesis MSTR-2016-26

BibliographyKeller, Robin: Predicting the GPU Execution Time of 3D Rendering Commands using Machine Learning Concepts.
University of Stuttgart, Faculty of Computer Science, Electrical Engineering, and Information Technology, Master Thesis (2016).
87 pages, english.
CR-SchemaI.2.6 (Artificial Intelligence Learning)
I.3.4 (Graphics Utilities)
C.4 (Performance of Systems)

3D rendering gets more and more important in embedded environments like automotive industry. To reduce hardware costs, power consumptions, and installation space for Electronic Control Units (ECUs), the ECUs including their GPU are consolidated. Thus, multiple applications with diverse requirements use the same GPU. For example, the speedometer has safety-critical requirements, whereby third party application does not. To execute multiple applications on the GPU a GPU scheduler is necessary. So far, GPUs do not support preemption and thus, a non preemptive real-time GPU scheduling is required. Such a real-time GPU scheduler needs the execution time of GPU commands beforehand. Predicting the GPU execution time is complex and hence, we tackle this problem by using machine learning concepts to predict the execution time of GPUs. In this thesis, influence factors for the execution time of 3D rendering commands on the GPU are analyzed and how these factors are processed to use them as features for the online machine learning algorithm. This leads to a linear regression problem that is tackled by using stochastic gradient descent with online normalization of the input data and an adaptive learning rate calculation. Furthermore, the shaders are analyzed during runtime and the feature vector contains the GPU instructions. This allows the algorithm to gain knowledge about the execution time for so far unseen shaders. To validate the concept, it is implemented and evaluated on a workstation computer and on an embedded board. We show for the workstation computer that the newly developed concept has higher accuracy in glmark2-es2 benchmarks than the previous approach. For the embedded board is shown that the execution times for GPU instructions can be learned accurately. However, the developed concept provides room for improvement at constant scenes, where only the execution time changes.

Full text and
other links
PDF (713005 Bytes)
Department(s)University of Stuttgart, Institute of Parallel and Distributed Systems, Distributed Systems
Superviser(s)Rothermel, Prof. Kurt; Schnitzer, Stephan
Entry dateAugust 1, 2018
   Publ. Computer Science