In dieser Arbeit wird ein Ansatz zur Generierung von maschinenspezifischem Assemblercode aus der hochabstrakten Darstellung von Entscheidungsbaumensembles präsentiert. Dabei wird die Zuweisung von CPU-Registern explizit gesteuert, um häufig verwendete Knoten und Merkmalswerte direkt in Registern zu halten und so den Zugriff zu beschleunigen.
Es werden verschiedene Methoden vorgestellt, um die Knoten und Merkmalswerte optimal auf die verfügbaren Register zu verteilen. Dazu gehören statische Ansätze, bei denen die Registerbelegung vor der Ausführung festgelegt wird, sowie dynamische Ansätze, bei denen die Registerbelegung zur Laufzeit angepasst wird.
Die Methoden werden umfangreich auf verschiedenen Hardware-Plattformen (X86 und ARMv8) und Entscheidungsbaumensembles evaluiert. Die Ergebnisse zeigen, dass durch die optimierte Registerzuweisung die Ausführungszeit um bis zu 1,6x verbessert werden kann, wenn die Methoden sorgfältig auf das jeweilige Szenario abgestimmt werden.
다른 언어로
소스 콘텐츠 기반
arxiv.org
더 깊은 질문