Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

Jorge Albericio

dblp:00/10861 · DBLP profile ↗
← Back
14ranked-venue papers
6as first author
1since 2021 · last 2022
—ORCID · none

Domains — the database's venue-derived domains; a paper can count in several

Systems, architecture and hardware · 14 · 6 first-author · 1 since 2021Software engineering, systems software and programming languages · 1 · 1 first-author

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Computer architecture, parallel and distributed computing, and storage systems
11 papers
Memory systems · 43% Hardware accelerators and domain-specific architectures · 32% Processor architecture and microarchitecture · 18%
Artificial intelligence
2 papers
Efficient and distributed learning · 100%

Topics — the 25 heaviest of 25, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Hardware accelerators and domain-specific architectures
machine learning accelerator
0.932020
TensorDash: Exploiting Sparsity to Accelerate Deep Neural Network Training · MICRO 2020
Stripes: Bit-serial deep neural network computing · MICRO 2016
Cnvlutin: Ineffectual-Neuron-Free Deep Neural Network Computing · ISCA 2016
Memory systems
cache
0.842016
The Bunker Cache for spatio-value approximation · MICRO 2016
Doppelgänger: a cache for approximate computing · MICRO 2015
Exploiting reuse locality on inclusive shared last-level caches · ACM Trans. Archit. Code Optim. 2013
Hardware accelerators and domain-specific architectures › machine learning accelerator
DNN accelerator
0.522017
Bit-pragmatic deep neural network computing · MICRO 2017
Cnvlutin: Ineffectual-Neuron-Free Deep Neural Network Computing · ISCA 2016
Memory systems › cache › cache organization
approximate cache
0.522016
The Bunker Cache for spatio-value approximation · MICRO 2016
Doppelgänger: a cache for approximate computing · MICRO 2015
Machine learning › Efficient and distributed learning
model compression
0.412020
TensorDash: Exploiting Sparsity to Accelerate Deep Neural Network Training · MICRO 2020
Machine learning › Efficient and distributed learning › model compression › sparsity
sparsity exploitation
0.412020
TensorDash: Exploiting Sparsity to Accelerate Deep Neural Network Training · MICRO 2020
Hardware accelerators and domain-specific architectures › machine learning accelerator › DNN training accelerator
sparse DNN training accelerator
0.412020
TensorDash: Exploiting Sparsity to Accelerate Deep Neural Network Training · MICRO 2020
Processor architecture and microarchitecture
branch prediction
0.422015
The inner most loop iteration counter: a new dimension in branch history · MICRO 2015
Wormhole: Wisely Predicting Multidimensional Branches · MICRO 2014
Emerging computing paradigms
approximate computing
0.432016
Stripes: Bit-serial deep neural network computing · MICRO 2016
The Bunker Cache for spatio-value approximation · MICRO 2016
Doppelgänger: a cache for approximate computing · MICRO 2015
Memory systems › memory hierarchy › cache hierarchy
last-level cache
0.422015
Doppelgänger: a cache for approximate computing · MICRO 2015
The reuse cache: downsizing the shared last-level cache · MICRO 2013
Processor architecture and microarchitecture
data-parallel architecture
0.312017
Bit-pragmatic deep neural network computing · MICRO 2017
Hardware accelerators and domain-specific architectures › machine learning accelerator › DNN accelerator
bit-serial DNN accelerator
0.212016
Stripes: Bit-serial deep neural network computing · MICRO 2016
Memory systems
cache design
0.212016
The Bunker Cache for spatio-value approximation · MICRO 2016
Processor architecture and microarchitecture › branch prediction
branch history
0.212015
The inner most loop iteration counter: a new dimension in branch history · MICRO 2015
Processor architecture and microarchitecture › branch prediction
TAGE predictor
0.212014
Wormhole: Wisely Predicting Multidimensional Branches · MICRO 2014
Memory systems
cache coherence
0.212013
Exploiting reuse locality on inclusive shared last-level caches · ACM Trans. Archit. Code Optim. 2013
Memory systems › cache design
cache inclusion
0.212013
Exploiting reuse locality on inclusive shared last-level caches · ACM Trans. Archit. Code Optim. 2013
Memory systems
cache management
0.212013
The reuse cache: downsizing the shared last-level cache · MICRO 2013
Memory systems › cache management
cache replacement
0.212013
The reuse cache: downsizing the shared last-level cache · MICRO 2013
Memory systems › cache management › cache replacement
last-level cache replacement
0.212013
Exploiting reuse locality on inclusive shared last-level caches · ACM Trans. Archit. Code Optim. 2013
Memory systems › cache › prefetching
hardware prefetching
0.112012
ABS: A low-cost adaptive controller for prefetching in a banked shared last-level cache · ACM Trans. Archit. Code Optim. 2012
Machine learning › Efficient and distributed learning
low-precision training
0.112020
TensorDash: Exploiting Sparsity to Accelerate Deep Neural Network Training · MICRO 2020
Processor architecture and microarchitecture
chip multiprocessor
0.122013
Exploiting reuse locality on inclusive shared last-level caches · ACM Trans. Archit. Code Optim. 2013
ABS: A low-cost adaptive controller for prefetching in a banked shared last-level cache · ACM Trans. Archit. Code Optim. 2012
Memory systems › cache management
shared cache management
0.122013
Exploiting reuse locality on inclusive shared last-level caches · ACM Trans. Archit. Code Optim. 2013
ABS: A low-cost adaptive controller for prefetching in a banked shared last-level cache · ACM Trans. Archit. Code Optim. 2012
Energy-efficient computing › energy-efficient architecture
energy-efficient accelerator
0.112017
Bit-pragmatic deep neural network computing · MICRO 2017

Methods — techniques the papers use, named apart from their topics

value-based acceleration · 0.5data-parallel architecture · 0.5shift-and-add multiplication · 0.3serial-parallel multiplication · 0.3cache indexing · 0.2bit-serial computation · 0.2local history · 0.2global history · 0.2deduplication · 0.2compression · 0.2
YearPublicationVenuePosition
2022 Guest Editorial: IEEE TC Special Issue: Hardware Acceleration of Machine Learning
abstract
The papers in this special section explore research on the latest topics related to the hardware acceleration of machine learning.
Michael Ferdman, Jorge Albericio, Tushar Krishna, Peter A. Milder
IEEE Trans. Computers2
2020 TensorDash: Exploiting Sparsity to Accelerate Deep Neural Network Training
abstract
TensorDash is a hardware-based technique that enables data-parallel MAC units to take advantage of sparsity in their input operand streams. When used to compose a hardware accelerator for deep learning, TensorDash can speedup the training process while also increasing energy efficiency. TensorDash combines a low-cost sparse input operand interconnect with an area-efficient hardware scheduler. The scheduler can effectively extract sparsity in the activations, the weights, and the gradients. Over a wide set of state-of-the-art models covering various applications, TensorDash accelerates the training process by 1.95× while being 1.5× more energy efficient when incorporated on top of a Tensorcore-based accelerator at less than 5% area overhead. TensorDash is datatype agnostic and we demonstrate it with IEEE standard mixed-precision floating-point units and a popular optimized for machine learning floating-point format (BFloat16).
Mostafa Mahmoud, Isak Edo Vivancos, Ali Hadi Zadeh, Omar Mohamed Awad, Gennady Pekhimenko, Jorge Albericio, Andreas Moshovos
MICRO6
2018 Proteus: Exploiting precision variability in deep neural networks
Patrick Judd, Jorge Albericio, Tayler H. Hetherington, Tor M. Aamodt, Natalie D. Enright Jerger, Raquel Urtasun, Andreas Moshovos
Parallel Comput.2
2017 Bit-pragmatic deep neural network computing
abstract
Deep Neural Networks expose a high degree of parallelism, making them amenable to highly data parallel architectures. However, data-parallel architectures often accept inefficiency in individual computations for the sake of overall efficiency. We show that on average, activation values of convolutional layers during inference in modern Deep Convolutional Neural Networks (CNNs) contain 92% zero bits. Processing these zero bits entails ineffectual computations that could be skipped. We propose Pragmatic (PRA), a massively data-parallel architecture that eliminates most of the ineffectual computations on-the-fly, improving performance and energy efficiency compared to state-of-the-art high-performance accelerators [5]. The idea behind PRA is deceptively simple: use serial-parallel shift-and-add multiplication while skipping the zero bits of the serial input. However, a straightforward implementation based on shift-and-add multiplication yields unacceptable area, power and memory access overheads compared to a conventional bit-parallel design. PRA incorporates a set of design decisions to yield a practical, area and energy efficient design.
Jorge Albericio, Alberto Delmas Lascorz, Patrick Judd, Sayeh Sharify, Gerard O'Leary, Roman Genov, Andreas Moshovos
MICRO1
2016 Proteus: Exploiting Numerical Precision Variability in Deep Neural Networks
abstract
This work exploits the tolerance of Deep Neural Networks (DNNs) to reduced precision numerical representations and specifically, their recently demonstrated ability to tolerate representations of different precision per layer while maintaining accuracy. This flexibility enables improvements over conventional DNN implementations that use a single, uniform representation. This work proposes Proteus, which reduces the data traffic and storage footprint needed by DNNs, resulting in reduced energy and improved area efficiency for DNN implementations. Proteus uses a different representation per layer for both the data (neurons) and the weights (synapses) processed by DNNs. Proteus is a layered extension over existing DNN implementations that converts between the numerical representation used by the DNN execution engines and the shorter, layer-specific fixed-point representation used when reading and writing data values to memory be it on-chip buffers or off-chip memory. Proteus uses a novel memory layout for DNN data, enabling a simple, low-cost and low-energy conversion unit.
Patrick Judd, Jorge Albericio, Tayler H. Hetherington, Tor M. Aamodt, Natalie D. Enright Jerger, Andreas Moshovos
ICS2
2016 Cnvlutin: Ineffectual-Neuron-Free Deep Neural Network Computing
abstract
This work observes that a large fraction of the computations performed by Deep Neural Networks (DNNs) are intrinsically ineffectual as they involve a multiplication where one of the inputs is zero. This observation motivates Cnvolutin (CNV), a value-based approach to hardware acceleration that eliminates most of these ineffectual operations, improving performance and energy over a state-of-the-art accelerator with no accuracy loss. CNV uses hierarchical data-parallel units, allowing groups of lanes to proceed mostly independently enabling them to skip over the ineffectual computations. A co-designed data storage format encodes the computation elimination decisions taking them off the critical path while avoiding control divergence in the data parallel units. Combined, the units and the data storage format result in a data-parallel architecture that maintains wide, aligned accesses to its memory hierarchy and that keeps its data lanes busy. By loosening the ineffectual computation identification criterion, CNV enables further performance and energy efficiency improvements, and more so if a loss in accuracy is acceptable. Experimental measurements over a set of state-of-the-art DNNs for image classification show that CNV improves performance over a state-of-the-art accelerator from 1.24x to 1.55x and by 1.37x on average without any loss in accuracy by removing zero-valued operand multiplications alone. While CNV incurs an area overhead of 4.49%, it improves overall EDP (Energy Delay Product) and ED2P (Energy Delay Squared Product) on average by 1.47x and 2.01x, respectively. The average performance improvements increase to 1.52x without any loss in accuracy with a broader ineffectual identification policy. Further improvements are demonstrated with a loss in accuracy.
Jorge Albericio, Patrick Judd, Tayler H. Hetherington, Tor M. Aamodt, Natalie D. Enright Jerger, Andreas Moshovos
ISCA1
2016 Stripes: Bit-serial deep neural network computing
abstract
Motivated by the variance in the numerical precision requirements of Deep Neural Networks (DNNs) [1], [2], Stripes (STR), a hardware accelerator is presented whose execution time scales almost proportionally with the length of the numerical representation used. STR relies on bit-serial compute units and on the parallelism that is naturally present within DNNs to improve performance and energy with no accuracy loss. In addition, STR provides a new degree of adaptivity enabling on-the-fly trade-offs among accuracy, performance, and energy. Experimental measurements over a set of DNNs for image classification show that STR improves performance over a state-of-the-art accelerator [3] from 1.30x to 4.51x and by 1.92x on average with no accuracy loss. STR is 57% more energy efficient than the baseline at a cost of 32% additional area. Additionally, by enabling configurable, per-layer and per-bit precision control, STR allows the user to trade accuracy for further speedup and energy efficiency.
Patrick Judd, Jorge Albericio, Tayler H. Hetherington, Tor M. Aamodt, Andreas Moshovos
MICRO2
2016 The Bunker Cache for spatio-value approximation
abstract
The cost of moving and storing data is still a fundamental concern for computer architects. Inefficient handling of data can be attributed to conventional architectures being oblivious to the nature of the values that these data bits carry. We observe the phenomenon of spatio-value similarity, where data elements that are approximately similar in value exhibit spatial regularity in memory. This is inherent to 1) the data values of real-world applications, and 2) the way we store data structures in memory. We propose the Bunker Cache, a design that maps similar data to the same cache storage location based solely on their memory address, sacrificing some application quality loss for greater efficiency. The Bunker Cache enables performance gains (ranging from 1.08x to 1.19x) via reduced cache misses and energy savings (ranging from 1.18x to 1.39x) via reduced off-chip memory accesses and lower cache storage requirements. The Bunker Cache requires only modest changes to cache indexing hardware, integrating easily into commodity systems.
Joshua San Miguel, Jorge Albericio, Natalie D. Enright Jerger, Aamer Jaleel
MICRO2
2015 Doppelgänger: a cache for approximate computing
abstract
Modern processors contain large last level caches (LLCs) that consume substantial energy and area yet are imperative for high performance. Cache designs have improved dramatically by considering reference locality. Data values are also a source of optimization. Compression and deduplication exploit data values to use cache storage more efficiently resulting in smaller caches without sacrificing performance. In multi-megabyte LLCs, many identical or similar values may be cached across multiple blocks simultaneously. This redundancy effectively wastes cache capacity. We observe that a large fraction of cache values exhibit approximate similarity. More specifically, values across cache blocks are not identical but are similar. Coupled with approximate computing which observes that some applications can tolerate error or inexactness, we leverage approximate similarity to design a novel LLC architecture: the Doppelgänger cache. The Doppelgänger cache associates the tags of multiple similar blocks with a single data array entry to reduce the amount of data stored. Our design achieves 1.55×, 2.55× and 1.41× reductions in LLC area, dynamic energy and leakage energy without harming performance nor incurring high application error.
Joshua San Miguel, Jorge Albericio, Andreas Moshovos, Natalie D. Enright Jerger
MICRO2
2015 The inner most loop iteration counter: a new dimension in branch history
abstract
The most efficient branch predictors proposed in academic literature exploit both global branch history and local branch history. However, local history branch predictor components introduce major design challenges, particularly for the management of speculative histories. Therefore, most effective hardware designs use only global history components and very limited forms of local histories such as a loop predictor.
André Seznec, Joshua San Miguel, Jorge Albericio
MICRO3
2014 Wormhole: Wisely Predicting Multidimensional Branches
abstract
Improving branch prediction accuracy is essential in enabling high-performance processors to find more concurrency and to improve energy efficiency by reducing wrong path instruction execution, a paramount concern in today's power-constrained computing landscape. Branch prediction traditionally considers past branch outcomes as a linear, continuous bit stream through which it searches for patterns and correlations. The state-of-the-art TAGE predictor and its variants follow this approach while varying the length of the global history fragments they consider. This work identifies a construct, inherent to several applications that challenges existing, linear history based branch prediction strategies. It finds that applications have branches that exhibit multi-dimensional correlations. These are branches with the following two attributes: 1) they are enclosed within nested loops, and 2) they exhibit correlation across iterations of the outer loops. Folding the branch history and interpreting it as a multidimensional piece of information, exposes these cross-iteration correlations allowing predictors to search for more complex correlations in the history space with lower cost. We present wormhole, a new side-predictor that exploits these multidimensional histories. Wormhole is integrated alongside ISL-TAGE and leverages information from its existing side-predictors. Experiments show that the wormhole predictor improves accuracy more than existing side-predictors, some of which are commercially available, with a similar hardware cost. Considering 40 diverse application traces, the wormhole predictor reduces MPKI by an average of 2.53% and 3.15% on top of 4KB and 32KB ISL-TAGE predictors respectively. When considering the top four workloads that exhibit multi-dimensional history correlations, Wormhole achieves 22% and 20% MPKI average reductions over 4KB and 32KB ISL-TAGE.
Jorge Albericio, Joshua San Miguel, Natalie D. Enright Jerger, Andreas Moshovos
MICRO1
2013 The reuse cache: downsizing the shared last-level cache
abstract
Over recent years, a growing body of research has shown that a considerable portion of the shared last-level cache (SLLC) is dead, meaning that the corresponding cache lines are stored but they will not receive any further hits before being replaced. Conversely, most hits observed by the SLLC come from a small subset of already reused lines.
Jorge Albericio, Pablo Ibáñez 0001, Víctor Viñals, José María Llabería
MICRO1
2013 Exploiting reuse locality on inclusive shared last-level caches
abstract
Optimization of the replacement policy used for Shared Last-Level Cache (SLLC) management in a Chip-MultiProcessor (CMP) is critical for avoiding off-chip accesses. Temporal locality, while being exploited by first levels of private cache memories, is only slightly exhibited by the stream of references arriving at the SLLC. Thus, traditional replacement algorithms based on recency are bad choices for governing SLLC replacement. Recent proposals involve SLLC replacement policies that attempt to exploit reuse either by segmenting the replacement list or improving the rereference interval prediction. On the other hand, inclusive SLLCs are commonplace in the CMP market, but the interaction between replacement policy and the enforcement of inclusion has barely been discussed. After analyzing that interaction, this article introduces two simple replacement policies exploiting reuse locality and targeting inclusive SLLCs: Least Recently Reused (LRR) and Not Recently Reused (NRR). NRR has the same implementation cost as NRU, and LRR only adds one bit per line to the LRU cost. After considering reuse locality and its interaction with the invalidations induced by inclusion, the proposals are evaluated by simulating multiprogrammed workloads in an 8-core system with two private cache levels and an SLLC. LRR outperforms LRU by 4.5% (performing better in 97 out of 100 mixes) and NRR outperforms NRU by 4.2% (performing better in 99 out of 100 mixes). We also show that our mechanisms outperform rereference interval prediction, a recently proposed SLLC replacement policy and that similar conclusions can be drawn by varying the associativity or the SLLC size.
Jorge Albericio, Pablo Ibáñez 0001, Víctor Viñals, José María Llabería
ACM Trans. Archit. Code Optim.1
2012 ABS: A low-cost adaptive controller for prefetching in a banked shared last-level cache
abstract
Hardware data prefetch is a very well known technique for hiding memory latencies. However, in a multicore system fitted with a shared Last-Level Cache (LLC), prefetch induced by a core consumes common resources such as shared cache space and main memory bandwidth. This may degrade the performance of other cores and even the overall system performance unless the prefetch aggressiveness of each core is controlled from a system standpoint. On the other hand, LLCs in commercial chip multiprocessors are more and more frequently organized in independent banks. In this contribution, we target for the first time prefetch in a banked LLC organization and propose ABS, a low-cost controller with a hill-climbing approach that runs stand-alone at each LLC bank without requiring inter-bank communication. Using multiprogrammed SPEC2K6 workloads, our analysis shows that the mechanism improves both user-oriented metrics (Harmonic Mean of Speedups by 27% and Fairness by 11%) and system-oriented metrics (Weighted Speedup increases 22% and Memory Bandwidth Consumption decreases 14%) over an eight-core baseline system that uses aggressive sequential prefetch with a fixed degree. Similar conclusions can be drawn by varying the number of cores or the LLC size, when running parallel applications, or when other prefetch engines are controlled.
Jorge Albericio, Ruben Gran Tejero, Pablo Ibáñez 0001, Víctor Viñals, José María Llabería
ACM Trans. Archit. Code Optim.1