Bitte benutzen Sie diese Kennung, um auf die Ressource zu verweisen: http://dx.doi.org/10.18419/opus-9322
Autor(en): Keller, Robin
Titel: Predicting the GPU execution time of 3D rendering commands using machine learning concepts
Erscheinungsdatum: 2016
Dokumentart: Abschlussarbeit (Master)
Seiten: ix, 74
URI: http://nbn-resolving.de/urn:nbn:de:bsz:93-opus-ds-93391
http://elib.uni-stuttgart.de/handle/11682/9339
http://dx.doi.org/10.18419/opus-9322
Zusammenfassung: 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.
3D-Rendering wird in eingebetteten Umgebungen, wie zum Beispiel der Automobilindustrie, zunehmend wichtiger. Um die Hardwarekosten, den Energieverbrauch und den Einbauraum von Steuergeräten zu reduzieren, sollen die Steuergeräte einschließlich ihrer GPU konsolidiert werden. So verwenden mehrere Anwendungen mit unterschiedlichen Anforderungen dieselbe GPU. Zum Beispiel weist der Tachometer sicherheitskritische Anforderungen auf, wobei Drittanbieter-Anwendungen diese nicht besitzen. Zur Ausführung mehrerer Anwendungen auf der GPU ist ein GPU-Scheduler notwendig. Bisher unterstützen GPUs keine Preemption, sodass ein preemptiver GPU-Scheduler, welcher Echtzeitanforderungen erfüllt, erforderlich ist. Ein solcher Echtzeit-GPU-Scheduler benötigt im Voraus die Ausführungszeit der GPU-Befehle. Um die GPU-Ausführungszeit vorherzusagen, wird in dieser Arbeit ein Vorhersage-Framework entworfen, welches maschinelles Lernen verwendet. In dieser Arbeit werden Einflussfaktoren auf die Ausführungszeit von 3D-Rendering-Befehlen auf der GPU analysiert. In diesem Zusammenhang wird aufgezeigt, wie diese Faktoren verarbeitet werden, um sie als Features für den Algorithmus zu verwenden, der zur Laufzeit maschinelles Lernen einsetzt. Dieses führt zu einer linearen Regressionsanalyse, welche durch die Verwendung des Gradientenverfahrens mit Normalisierung der Eingabedaten zur Laufzeit und adaptiver Lernratenberechnung angegangen wird. Außerdem werden die verwendeten Shader zur Laufzeit analysiert und die ermittelten GPU-Instruktionen in den Feature Vektor aufgenommen. Das erlaubt dem Algorithmus, Wissen über die Ausführungszeit von bisher unbekannten Shadern zu erlangen. Um das Konzept zu validieren, wurde es auf einer Workstation und einem eingebetteten Board implementiert und evaluiert. In der Evaluation wird dargestellt, dass für die Workstation das neu entwickelte Konzept eine höhere Genauigkeit in glmark2-es2 Benchmark-Tests besitzt als in dem bisherigen Ansatz. Für das eingebettete Board wird gezeigt, dass die Ausführungszeiten für GPU-Instruktionen präzise gelernt werden können. Jedoch bietet das entwickelte Konzept Raum für Verbesserungen bei konstanten Szenen, in denen sich nur die Ausführungszeiten verändern.
Enthalten in den Sammlungen:05 Fakultät Informatik, Elektrotechnik und Informationstechnik

Dateien zu dieser Ressource:
Datei Beschreibung GrößeFormat 
Masterarbeit_63_Robin_Keller.pdf696,29 kBAdobe PDFÖffnen/Anzeigen


Alle Ressourcen in diesem Repositorium sind urheberrechtlich geschützt.