Demo Data from EDBT 2026 / reviewers in the wild / expert
Nathan Clark
dblp:28/3910
· DBLP profile ↗
20ranked-venue papers
7as first author
2since 2021 · last 2025
—ORCID · conflict
Domains — the database's venue-derived domains; a paper can count in several
Systems, architecture and hardware · 17 · 7 first-author · 1 since 2021Software engineering, systems software and programming languages · 7 · 2 first-authorApplied, interdisciplinary, general and emerging computing · 2 · 1 since 2021Artificial intelligence and machine learning · 1 · 1 since 2021
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.
| Interdisciplinary, comprehensive, and emerging computing
1 paper |
Bioinformatics and computational biology · 50% Computational science and engineering · 50% | |
| Computer architecture, parallel and distributed computing, and storage systems
8 papers |
Processor architecture and microarchitecture · 53% Parallel and multicore computing · 20% Hardware accelerators and domain-specific architectures · 19% | |
| Software engineering, system software, and programming languages
8 papers |
Compilers and program optimization · 56% Program analysis · 24% Software maintenance and evolution · 10% |
Topics — the 23 heaviest of 27, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Computational science and engineering › numerical analysis
convergence analysis |
0.9 | 1 | 2025 | Prediction of local convergent shifts in evolutionary rates with phyloConverge · Bioinform. 2025 |
Bioinformatics and computational biology
phylogenetics |
0.9 | 1 | 2025 | Prediction of local convergent shifts in evolutionary rates with phyloConverge · Bioinform. 2025 |
Program analysis
dynamic analysis |
0.2 | 2 | 2011 | Brainy: effective selection of data structures · PLDI 2011 DDT: design and evaluation of a dynamic program analysis for optimizing data structure usage · MICRO 2009 |
Processor architecture and microarchitecture
instruction set architecture |
0.2 | 3 | 2007 | Liquid SIMD: Abstracting SIMD Hardware using Lightweight Dynamic Mapping · HPCA 2007 Application-Specific Processing on a General-Purpose Core via Transparent Instruction Set Customization · MICRO 2004 Processor Acceleration Through Automated Instruction Set Customization · MICRO 2003 |
Processor architecture and microarchitecture › instruction set architecture
instruction set customization |
0.1 | 3 | 2005 | An Architecture Framework for Transparent Instruction Set Customization in Embedded Processors · ISCA 2005 Application-Specific Processing on a General-Purpose Core via Transparent Instruction Set Customization · MICRO 2004 Processor Acceleration Through Automated Instruction Set Customization · MICRO 2003 |
Compilers and program optimization › program transformation
data structure selection |
0.1 | 1 | 2011 | Brainy: effective selection of data structures · PLDI 2011 |
Parallel and multicore computing › parallel programming runtimes
thread management |
0.1 | 1 | 2010 | Thread tailor: dynamically weaving threads together for efficient, adaptive parallel applications · ISCA 2010 |
Compilers and program optimization › parallelization
automatic parallelization |
0.1 | 1 | 2009 | Commutativity analysis for software parallelization: letting program transformations see the big picture · ASPLOS 2009 |
Compilers and program optimization › dependence analysis
commutativity analysis |
0.1 | 1 | 2009 | Commutativity analysis for software parallelization: letting program transformations see the big picture · ASPLOS 2009 |
Software maintenance and evolution
program comprehension |
0.1 | 1 | 2009 | DDT: design and evaluation of a dynamic program analysis for optimizing data structure usage · MICRO 2009 |
Runtime systems and virtual machines › binary translation
dynamic translation |
0.1 | 1 | 2008 | VEAL: Virtualized Execution Accelerator for Loops · ISCA 2008 |
Compilers and program optimization › loop transformation
loop-nest mapping |
0.1 | 1 | 2008 | VEAL: Virtualized Execution Accelerator for Loops · ISCA 2008 |
Processor architecture and microarchitecture › binary translation
dynamic binary translation |
0.1 | 1 | 2007 | Liquid SIMD: Abstracting SIMD Hardware using Lightweight Dynamic Mapping · HPCA 2007 |
Processor architecture and microarchitecture › instruction set architecture › instruction set extension
application-specific instruction set extension |
0.1 | 2 | 2005 | Application-Specific Processing on a General-Purpose Core via Transparent Instruction Set Customization · MICRO 2004 Automated Custom Instruction Generation for Domain-Specific Processor Acceleration · IEEE Trans. Computers 2005 |
Hardware accelerators and domain-specific architectures › domain-specific accelerator
application-specific processor |
0.1 | 1 | 2005 | Automated Custom Instruction Generation for Domain-Specific Processor Acceleration · IEEE Trans. Computers 2005 |
Processor architecture and microarchitecture › instruction set architecture › instruction set extension
custom instruction generation |
0.1 | 1 | 2005 | Automated Custom Instruction Generation for Domain-Specific Processor Acceleration · IEEE Trans. Computers 2005 |
Electronic design automation
high-level synthesis |
0.0 | 1 | 2003 | Processor Acceleration Through Automated Instruction Set Customization · MICRO 2003 |
Embedded and real-time systems
embedded processor |
0.0 | 2 | 2005 | Automated Custom Instruction Generation for Domain-Specific Processor Acceleration · IEEE Trans. Computers 2005 An Architecture Framework for Transparent Instruction Set Customization in Embedded Processors · ISCA 2005 |
Parallel and multicore computing
parallel programming models |
0.0 | 1 | 2010 | Thread tailor: dynamically weaving threads together for efficient, adaptive parallel applications · ISCA 2010 |
Parallel and multicore computing
thread-level parallelism |
0.0 | 1 | 2010 | Thread tailor: dynamically weaving threads together for efficient, adaptive parallel applications · ISCA 2010 |
Parallel and multicore computing › loop transformation › loop parallelization
code parallelization |
0.0 | 1 | 2009 | Commutativity analysis for software parallelization: letting program transformations see the big picture · ASPLOS 2009 |
Compilers and program optimization
compiler infrastructure |
0.0 | 1 | 2007 | Liquid SIMD: Abstracting SIMD Hardware using Lightweight Dynamic Mapping · HPCA 2007 |
Compilers and program optimization › code generation
SIMD code generation |
0.0 | 1 | 2007 | Liquid SIMD: Abstracting SIMD Hardware using Lightweight Dynamic Mapping · HPCA 2007 |
Methods — techniques the papers use, named apart from their topics
phylogenetic method · 0.9dynamic translation · 0.3dataflow graph design space exploration · 0.2static analysis · 0.2program transformation · 0.2static-dynamic compilation · 0.2lightweight dynamic mapping · 0.1profiling · 0.1dynamic adaptation · 0.1dynamic analysis · 0.1subgraph matching · 0.1static identification · 0.1dynamic realization · 0.1dataflow graph collapsing · 0.1subgraph identification · 0.0
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2025 | Surfaceaug: Toward Versatile, Multimodally Consistent Ground Truth SamplingabstractDespite recent advances in both model architectures and data augmentation, multimodal object detectors still barely outperform their LiDAR-only counterparts. This shortcoming has been attributed to a lack of sufficiently powerful multimodal data augmentation. To address this, we present SurfaceAug, a novel ground truth sampling algorithm. SurfaceAug pastes objects by resampling both images and point clouds, enabling object-level transformations in both modalities. We evaluate our algorithm by training a multimodal detector on KITTI and compare its performance to previous works. We show experimentally that SurfaceAug demonstrates promising improvements on car detection tasks. Ryan Rubel, Nathan Clark, Andrew Dudash |
ICRA | 2 |
| 2025 | Prediction of local convergent shifts in evolutionary rates with phyloConvergeabstractMOTIVATION: Convergence analysis can characterize genetic elements underlying morphological adaptations. However, its performance on regulatory elements is limited due to their modular composition of transcription factor motifs, which have rapid turnover and experience different evolutionary pressures. RESULTS: We introduce phyloConverge, a phylogenetic method that performs scalable, fine-grained local convergence analysis of genomic elements at flexible length scales. Using a benchmarking case of convergent subterranean mammal adaptation, phyloConverge identifies rate-accelerated conserved noncoding elements (CNEs) with high specificity and statistical robustness relative to competing methods. From CNE-level scoring, we detect the convergent regression of entire CNE units and highlight the contrast that subterranean-associated coding region regression is highly specific to ocular functions, whereas regulatory element regression is enriched for accompanying neuronal phenotypes and other developmental processes. From transcription factor motif-level scoring, we dissect elements into subregions with uneven convergence signals and demonstrate the modular adaptation of CNEs with high functional specificity. Finally, we demonstrate phyloConverge's scalability to perform high-resolution convergence analysis genome-wide. AVAILABILITY AND IMPLEMENTATION: phyloConverge is available at https://github.com/ECSaputra/phyloConverge. Elysia Saputra, Weiguang Mao, Guillermo Hoffmann Meyer, Nathan Clark, Maria Chikina |
Bioinform. | 4 |
| 2019 | Systematic discovery of the functional impact of somatic genome alterations in individual tumors through tumor-specific causal inferenceabstractCancer is mainly caused by somatic genome alterations (SGAs). Precision oncology involves identifying and targeting tumor-specific aberrations resulting from causative SGAs. We developed a novel tumor-specific computational framework that finds the likely causative SGAs in an individual tumor and estimates their impact on oncogenic processes, which suggests the disease mechanisms that are acting in that tumor. This information can be used to guide precision oncology. We report a tumor-specific causal inference (TCI) framework, which estimates causative SGAs by modeling causal relationships between SGAs and molecular phenotypes (e.g., transcriptomic, proteomic, or metabolomic changes) within an individual tumor. We applied the TCI algorithm to tumors from The Cancer Genome Atlas (TCGA) and estimated for each tumor the SGAs that causally regulate the differentially expressed genes (DEGs) in that tumor. Overall, TCI identified 634 SGAs that are predicted to cause cancer-related DEGs in a significant number of tumors, including most of the previously known drivers and many novel candidate cancer drivers. The inferred causal relationships are statistically robust and biologically sensible, and multiple lines of experimental evidence support the predicted functional impact of both the well-known and the novel candidate drivers that are predicted by TCI. TCI provides a unified framework that integrates multiple types of SGAs and molecular phenotypes to estimate which genome perturbations are causally influencing one or more molecular/cellular phenotypes in an individual tumor. By identifying major candidate drivers and revealing their functional impact in an individual tumor, TCI sheds light on the disease mechanisms of that tumor, which can serve to advance our basic knowledge of cancer biology and to support precision oncology that provides tailored treatment of individual tumors. Chunhui Cai, Gregory F. Cooper, Kevin N. Lu, Shuping Xu, Zhenlong Zhao, Xueer Chen, Adrian V. Lee, Nathan Clark, Vicky Chen, Songjian Lu, Lujia Chen 0001, Liyue Yu, Harry Hochheiser, Xia Jiang, Q. Jane Wang, Xinghua Lu 0001 |
PLoS Comput. Biol. | 10 |
| 2011 | Brainy: effective selection of data structuresabstractData structure selection is one of the most critical aspects of developing effective applications. By analyzing data structures' behavior and their interaction with the rest of the application on the underlying architecture, tools can make suggestions for alternative data structures better suited for the program input on which the application runs. Consequently, developers can optimize their data structure usage to make the application conscious of an underlying architecture and a particular program input. Changhee Jung, Silvius Rus, Brian P. Railing, Nathan Clark, Santosh Pande |
PLDI | 4 |
| 2010 | Ocelot: a dynamic optimization framework for bulk-synchronous applications in heterogeneous systemsabstractOcelot is a dynamic compilation framework designed to map the explicitly data parallel execution model used by NVIDIA CUDA applications onto diverse multithreaded platforms. Ocelot includes a dynamic binary translator from Parallel Thread eXecution ISA (PTX) to many-core processors that leverages the Low Level Virtual Machine (LLVM) code generator to target x86 and other ISAs. The dynamic compiler is able to execute existing CUDA binaries without recompilation from source and supports switching between execution on an NVIDIA GPU and a many-core CPU at runtime. It has been validated against over 130 applications taken from the CUDA SDK, the UIUC Parboil benchmarks [1], the Virginia Rodinia benchmarks [2], the GPU-VSIPL signal and image processing library [3], the Thrust library [4], and several domain specific applications. Gregory Frederick Diamos, Andrew Kerr, Sudhakar Yalamanchili, Nathan Clark |
PACT | 4 |
| 2010 | Mighty-morphing power-SIMDabstractIn modern wireless devices, two broad classes of compute-intensive applications are common: those with high amounts of data-level parallelism, such as signal processing used in wireless baseband applications, and those that have little data-level parallelism, such as encryption. Wide single-instruction multiple-data (SIMD) processors have become popular for providing high performance, yet power efficient data engines for applications with abundant data parallelism. However, the non-data-parallel applications are relegated to a low-performance scalar datapath on these data engines while the SIMD resources are left idle. To accelerate both types of applications, we propose the design of a more flexible SIMD datapath called SIMD-Morph. In SIMD-Morph, code with data-level parallelism can be executed across the lanes in the traditional manner, but the lanes can be morphed into a feed-forward subgraph accelerator to execute scalar applications more efficiently. The morphed SIMD lanes form an accelerator that exploits both instruction-level parallelism as well as operation chaining to improve the performance of scalar code by exploiting the available resources in the SIMD lanes. Experimental results show that the performance impact is a 2.6X improvement for purely non-SIMD applications and a 1.4X improvement for the non-SIMD-ized portions of applications with data parallelism. Ganesh S. Dasika, Mark Woh, Sangwon Seo, Nathan Clark, Trevor N. Mudge, Scott A. Mahlke |
CASES | 4 |
| 2010 | Thread tailor: dynamically weaving threads together for efficient, adaptive parallel applicationsabstractExtracting performance from modern parallel architectures requires that applications be divided into many different threads of execution. Unfortunately selecting the appropriate number of threads for an application is a daunting task. Having too many threads can quickly saturate shared resources, such as cache capacity or memory bandwidth, thus degrading performance. On the other hand, having too few threads makes inefficient use of the resources available. Beyond static resource assignment, the program inputs and dynamic system state (e.g., what other applications are executing in the system) can have a significant impact on the right number of threads to use for a particular application. Janghaeng Lee, Haicheng Wu, Madhumitha Ravichandran, Nathan Clark |
ISCA | 4 |
| 2009 | Commutativity analysis for software parallelization: letting program transformations see the big pictureabstractExtracting performance from many-core architectures requires software engineers to create multi-threaded applications, which significantly complicates the already daunting task of software development. One solution to this problem is automatic compile-time parallelization, which can ease the burden on software developers in many situations. Clearly, automatic parallelization in its present form is not suitable for many application domains and new compiler analyses are needed address its shortcomings. Farhana Aleen, Nathan Clark |
ASPLOS | 2 |
| 2009 | DDT: design and evaluation of a dynamic program analysis for optimizing data structure usageabstractData structures define how values being computed are stored and accessed within programs. By recognizing what data structures are being used in an application, tools can make applications more robust by enforcing data structure consistency properties, and developers can better understand and more easily modify applications to suit the target architecture for a particular application. Changhee Jung, Nathan Clark |
MICRO | 2 |
| 2008 | VEAL: Virtualized Execution Accelerator for LoopsabstractPerformance improvement solely through transistor scaling is becoming more and more difficult, thus it is increasingly common to see domain specific accelerators used in conjunction with general purpose processors to achieve future performance goals. There is a serious drawback to accelerators, though: binary compatibility. An application compiled to utilize an accelerator cannot run on a processor without that accelerator, and applications that do not utilize an accelerator will never use it. To overcome this problem, we propose decoupling the instruction set architecture from the underlying accelerators. Computation to be accelerated is expressed using a processorpsilas baseline instruction set, and light-weight dynamic translation maps the representation to whatever accelerators are available in the system. In this paper, we describe the changes to a compilation framework and processor system needed to support this abstraction for an important set of accelerator designs that support innermost loops. In this analysis, we investigate the dynamic overheads associated with abstraction as well as the static/dynamic tradeoffs to improve the dynamic mapping of loop-nests. As part of the exploration, we also provide a quantitative analysis of the hardware characteristics of effective loop accelerators. We conclude that using a hybrid static-dynamic compilation approach to map computation on to loop-level accelerators is an practical way to increase computation efficiency, without the overheads associated with instruction set modification. Nathan Clark, Amir Hormati, Scott A. Mahlke |
ISCA | 1 |
| 2007 | Exploiting Narrow Accelerators with Data-Centric Subgraph MappingabstractThe demand for high performance has driven acyclic computation accelerators into extensive use in modern embedded and desktop architectures. Accelerators that are ideal from a software perspective, are difficult or impossible to integrate in many modern architectures, though, due to area and timing requirements. This reality is coupled with the observation that many application domains under-utilize accelerator hardware, because of the narrow data they operate on and the nature of their computation. In this work, we take advantage of these facts to design accelerators capable of executing in modern architectures by narrowing datapath width and reducing interconnect. Novel compiler techniques are developed in order to generate high-quality code for the reduced-cost accelerators and prevent performance loss to the extent possible. First, data width profiling is used to statistically determine how wide program data will be at run time. This information is used by the subgraph mapping algorithm to optimally select subgraphs for execution on targeted narrow accelerators. Overall, our data-centric compilation techniques achieve on average 6.5%, and up to 12%, speed up over previous subgraph mapping algorithms for 8-bit accelerators. We also show that, with appropriate compiler support, the increase in the total number of execution cycles in reduced-interconnect accelerators is less than 1% of the fully-connected accelerator Amir Hormati, Nathan Clark, Scott A. Mahlke |
CGO | 2 |
| 2007 | Liquid SIMD: Abstracting SIMD Hardware using Lightweight Dynamic MappingabstractMicroprocessor designers commonly utilize SIMD accelerators and their associated instruction set extensions to provide substantial performance gains at a relatively low cost for media applications. One of the most difficult problems with using SIMD accelerators is forward migration to newer generations. With larger hardware budgets and more demands for performance, SIMD accelerators evolve with both larger data widths and increased functionality with each new generation. However, this causes difficult problems in terms of binary compatibility, software migration costs, and expensive redesign of the instruction set architecture. In this work, we propose Liquid SIMD to decouple the instruction set architecture from the SIMD accelerator. SIMD instructions are expressed using a processor's baseline scalar instruction set, and light-weight dynamic translation maps the representation onto a broad family of SIMD accelerators. Liquid SIMD effectively bypasses the problems inherent to instruction set modification and binary compatibility across accelerator generations. We provide a detailed description of changes to a compilation framework and processor pipeline needed to support this abstraction. Additionally, we show that the hardware overhead of dynamic optimization is modest, hardware changes do not affect cycle time of the processor, and the performance impact of abstracting the SIMD accelerator is negligible. We conclude that using dynamic techniques to map instructions onto SIMD accelerators is an effective way to improve computation efficiency, without the overhead associated with modifying the instruction set Nathan Clark, Amir Hormati, Sami Yehia, Scott A. Mahlke, Krisztián Flautner |
HPCA | 1 |
| 2006 | Scalable subgraph mapping for acyclic computation acceleratorsabstractComputer architects are constantly faced with the need to improve performance and increase the efficiency of computation in their designs. To this end, it is increasingly common to see acyclic com-putation accelerators appear in embedded processor designs. One major problem with adding accelerators to a design is that it is difficult to generate high-quality code utilizing them. Hand-written assembly code is typical, and if compiler support does exist, it is implemented using only greedy algorithms. In this work, we investigate more thorough techniques for compiling to processors with acyclic accelerators. Where as greedy solutions only explore one possible solution, the techniques presented in this paper explore the entire design space, when possible. Intelligent pruning methods are employed to ensure compilation is both tractable and scalable. Overall, our new compilation algorithms produce code that performs on average 10%, and up to 32% better than standard greedy methods. These algorithms also run in less than one second for more than 98% of basic blocks tested. Nathan Clark, Amir Hormati, Scott A. Mahlke, Sami Yehia |
CASES | 1 |
| 2005 | Exploring the design space of LUT-based transparent acceleratorsabstractInstruction set customization accelerates the performance of applications by compressing the length of critical dependence paths and reducing the demands on processor resources. With instruction set customization, specialized accelerators are added to a conventional processor to atomically execute dataflow subgraphs. Accelerators that are exploited without explicit changes to the instruction set architecture of the processor are said to be transparent. Transparent acceleration relies on a light-weight hardware engine to dynamically generate control signals for the accelerator, using subgraphs delineated by a compiler. The design of transparent subgraph accelerators is challenging, as critical subgraphs need to be supported efficiently while maintaining area and timing constraints. Additionally, more complex accelerators require more sophisticated control generation engines. These factors must be carefully balanced. In this work, we investigate the design of subgraph accelerators using configurable lookup table structures. These designs provide an effective paradigm to execute a wide range of subgraphs involving arithmetic and logic operations. We describe why lookup table designs are effective, how they fit into a transparent acceleration framework, and evaluate the effectiveness of a wide range of de-signs using both simulation and logic synthesis. Sami Yehia, Nathan Clark, Scott A. Mahlke, Krisztián Flautner |
CASES | 2 |
| 2005 | An Architecture Framework for Transparent Instruction Set Customization in Embedded ProcessorsabstractInstruction set customization is an effective way to improve processor performance. Critical portions of application data-flow graphs are collapsed for accelerated execution on specialized hardware. Collapsing dataflow subgraphs will compress the latency along critical paths and reduces the number of intermediate results stored in the register file. While custom instructions can be effective, the time and cost of designing a new processor for each application is immense. To overcome this roadblock, this paper proposes a flexible architectural framework to transparently integrate custom instructions into a general-purpose processor. Hardware accelerators are added to the processor to execute the collapsed subgraphs. A simple microarchitectural interface is provided to support a plug-and-play model for integrating a wide range of accelerators into a pre-designed and verified processor core. The accelerators are exploited using an approach of static identification and dynamic realization. The compiler is responsible for identifying profitable subgraphs, while the hardware handles discovery, mapping, and execution of compatible subgraphs. This paper presents the design of a plug-and-play transparent accelerator system arid evaluates the cost/performance implications of the design. Nathan Clark, Jason A. Blome, Michael L. Chu, Scott A. Mahlke, Stuart Biles, Krisztián Flautner |
ISCA | 1 |
| 2005 | Automated Custom Instruction Generation for Domain-Specific Processor AccelerationabstractApplication-specific extensions to the computational capabilities of a processor provide an efficient mechanism to meet the growing performance and power demands of embedded applications. Hardware, in the form of new function units (or coprocessors), and the corresponding instructions are added to a baseline processor to meet the critical computational demands of a target application. In this paper, the design of a system to automate the instruction set customization process is presented. A dataflow graph design space exploration engine efficiently identifies computation subgraphs to create custom hardware and a compiler subgraph matching framework seamlessly exploits this hardware. We demonstrate the effectiveness of this system across a range of application domains and study the applicability of the custom hardware across an entire application domain. Generalization techniques are presented which enable the application-specific hardware to be more effectively used across a domain. Nathan Clark, Hongtao Zhong, Scott A. Mahlke |
IEEE Trans. Computers | 1 |
| 2004 | FLASH: Foresighted Latency-Aware Scheduling Heuristic for Processors with Customized DatapathsabstractApplication-specific instruction set processors (ASIPs) have the potential to meet the challenging cost, performance, and power goals of future embedded processors by customizing the hardware to suit an application. A central problem is creating compilers that are capable of dealing with the heterogeneous and nonuniform hardware created by the customization process. The processor datapath provides an effective area to customize, but specialized datapaths often have nonuniform connectivity between the function units, making the effective latency of a function unit dependent on the consuming operation. Traditional instruction schedulers break down in this environment due to their locally greedy nature of binding the best choice for a single operation even though that choice may be poor due to a lack of communication paths. To effectively schedule with nonuniform connectivity, we propose a foresighted latency-aware scheduling heuristic (FLASH) that performs lookahead across future scheduling steps to estimate the effects of a potential binding. FLASH combines a set of lookahead heuristics to achieve effective foresight with low compile-time overhead. Manjunath Kudlur, Kevin Fan, Michael L. Chu, Rajiv A. Ravindran, Nathan Clark, Scott A. Mahlke |
CGO | 5 |
| 2004 | Application-Specific Processing on a General-Purpose Core via Transparent Instruction Set CustomizationabstractApplication-specific instruction set extensions are an effective way of improving the performance of processors. Critical computation subgraphs can be accelerated by collapsing them into new instructions that are executed on specialized function units. Collapsing the subgraphs simultaneously reduces the length of computation as well as the number of intermediate results stored in the register file. The main problem with this approach is that a new processor must be generated for each application domain. While new instructions can be designed automatically, there is a substantial amount of engineering cost incurred to verify and to implement the final custom processor. In this work, we propose a strategy to transparent customization of the core computation capabilities of the processor without changing its instruction set. A congurable array of function units is added to the baseline processor that enables the acceleration of a wide range of data flow subgraphs. To exploit the array, the microarchitecture performs subgraph identification at run-time, replacing them with new microcode instructions to configure and utilize the array. We compare the effectiveness of replacing subgraphs in the fill unit of a trace cache versus using a translation table during decode, and evaluate the tradeoffs between static and dynamic identification of subgraphs for instruction set customization. Nathan Clark, Manjunath Kudlur, Hyunchul Park 0001, Scott A. Mahlke, Krisztián Flautner |
MICRO | 1 |
| 2003 | Systematic Register Bypass Customization for Application-Specific ProcessorsabstractRegister bypass provides additional datapaths to eliminate data hazards in processor pipelines. The difficulty with register bypass is that the cost of the bypass network is substantial and grows substantially as processor width or pipeline depth are increased. For a single application, many of the bypass paths have extremely low utilization. Thus, there is an important opportunity in the design of application-specific processors to remove a large fraction of the bypass cost while maintaining performance comparable to a processor with full bypass. We propose a systematic design customization process along with a bypass-cognizant compiler scheduler. For the former, we employ iterative design space exploration wherein successive processor designs are selected based on bypass utilization statistics combined with the availability of redundant bypass paths. Compiler scheduling for sparse bypass processors is accomplished by prioritizing function unit choices for each operation prior to scheduling using global information. Results show that for a 5-issue customized VLIW processor, 70% of the bypass cost is eliminated while sacrificing only 10% performance. Kevin Fan, Nathan Clark, Michael L. Chu, K. V. Manjunath, Rajiv A. Ravindran, Mikhail Smelyanskiy, Scott A. Mahlke |
ASAP | 2 |
| 2003 | Processor Acceleration Through Automated Instruction Set CustomizationabstractApplication-specific extensions to the computational capabilities of a processor provide an efficient mechanism to meet the growing performance and power demands of embedded applications. Hardware, in the form of new function units (or co-processors), and the corresponding instructions, are added to a baseline processor to meet the critical computational demands of a target application. The central challenge with this approach is the large degree of human effort required to identify and create the custom hardware units, as well as porting the application to the extended processor. In this paper, we present the design of a system to automate the instruction set customization process. A dataflow graph design space exploration engine efficiently identifies profitable computation subgraphs from which to create custom hardware, without artificially constraining their size or shape. The system also contains a compiler subgraph matching framework that identifies opportunities to exploit and generalize the hardware to support more computation graphs. We demonstrate the effectiveness of this system across a range of application domains and study the applicability of the custom hardware across the domain. Nathan Clark, Hongtao Zhong, Scott A. Mahlke |
MICRO | 1 |