Branch strategies to optimize decision trees for wide-issue architectures

Patrick Carribault, Christophe Lemuet, Jean Thomas Acquaviva, Albert Cohen, William Jalby

Research output: Contribution to journalConference articlepeer-review

Abstract

Branch predictors are associated with critical design issues for nowadays instruction greedy processors. We study two important domains where the optimization of decision trees - implemented through switch-case or nested if-then-eise constructs - makes the precise modeling of these hardware mechanisms determining for performance: compute-intensive libraries with versioning and cloning, and high-performance interpreters. Against common belief, the complexity of recent microarchitectures does not necessarily hamper the design of accurate cost models, in the special case of decision trees. We build a simple model that illustrates the reasons for which decision tree performance is predictable. Based on this model, we compare the most significant code generation strategies on the Itanium2 processor. We show that no strategy dominates in all cases, and although they used to be penalized by traditional superscalar processors, indirect branches regain a lot of interest in the context of predicated execution and delayed branches. We validate our study with an improvement from 15% to 40% over Intel ICC compiler for a Daxpy code focused on short vectors.

Original languageEnglish
Pages (from-to)439-454
Number of pages16
JournalLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Volume3602
DOIs
Publication statusPublished - 1 Jan 2005
Externally publishedYes
Event17th International Workshop on Languages and Compilers for High Performance Computing, LCPC 2004 - West Lafayette, IN, United States
Duration: 22 Sept 200424 Sept 2004

Fingerprint

Dive into the research topics of 'Branch strategies to optimize decision trees for wide-issue architectures'. Together they form a unique fingerprint.

Cite this