Most modern processors are heavily parallelized and use predictors to guess the outcome of conditional branches, in order to avoid costly stalls in their pipelines. We propose predictor-friendly versions of two classical algorithms: exponentiation by squaring and binary search in a sorted array. These variants result in less mispredictions on average, at the cost of an increased number of operations. These theoretical results are supported by experimentations that show that our algorithms perform significantly better than the standard ones, for primitive data types
One of the key factors determining computer performance is the degree to which the implementation ca...
In this paper, we introduce a new branch predictor that predicts the outcomes of branches by predict...
A burgeoning paradigm in algorithm design is the field of algorithms with predictions, in which algo...
International audienceMost modern processors are heavily parallelized and use predictors to guess th...
We explore the fundamental problem of sorting through the lens of learning-augmented algorithms, whe...
Abstract. The problem of predicting the outcome of a conditional branch instruction is a prerequisit...
Modern superscalar processors rely on branch predictors to sustain a high instruction fetch throughp...
A commonly used type of search tree is the alphabetic binary tree, which uses (without loss of gener...
This article presents a new and highly accurate method for branch prediction. The key idea is to use...
Exploiting the huge computing power of modern microprocessors requires fast, accurate branch predict...
textPerformance of modern pipelined processor depends on steady flow of useful instructions for proc...
Recent implementations of local approximate Gaussian process models have pushed computational bounda...
Traditional branch predictors exploit correlations between pattern history and branch outcome to pre...
Accurate branch prediction can be seen as a mechanism for enabling design decisions. When short pipe...
The need to flush pipelines when miss-predicting branches occur can throttle the performance of a pi...
One of the key factors determining computer performance is the degree to which the implementation ca...
In this paper, we introduce a new branch predictor that predicts the outcomes of branches by predict...
A burgeoning paradigm in algorithm design is the field of algorithms with predictions, in which algo...
International audienceMost modern processors are heavily parallelized and use predictors to guess th...
We explore the fundamental problem of sorting through the lens of learning-augmented algorithms, whe...
Abstract. The problem of predicting the outcome of a conditional branch instruction is a prerequisit...
Modern superscalar processors rely on branch predictors to sustain a high instruction fetch throughp...
A commonly used type of search tree is the alphabetic binary tree, which uses (without loss of gener...
This article presents a new and highly accurate method for branch prediction. The key idea is to use...
Exploiting the huge computing power of modern microprocessors requires fast, accurate branch predict...
textPerformance of modern pipelined processor depends on steady flow of useful instructions for proc...
Recent implementations of local approximate Gaussian process models have pushed computational bounda...
Traditional branch predictors exploit correlations between pattern history and branch outcome to pre...
Accurate branch prediction can be seen as a mechanism for enabling design decisions. When short pipe...
The need to flush pipelines when miss-predicting branches occur can throttle the performance of a pi...
One of the key factors determining computer performance is the degree to which the implementation ca...
In this paper, we introduce a new branch predictor that predicts the outcomes of branches by predict...
A burgeoning paradigm in algorithm design is the field of algorithms with predictions, in which algo...