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

Zhengrong Wang

dblp:242/9000 · DBLP profile ↗
← Back
9ranked-venue papers
5as first author
6since 2021 · last 2024
—ORCID · conflict

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

Systems, architecture and hardware · 9 · 5 first-author · 6 since 2021Software engineering, systems software and programming languages · 3 · 2 first-author · 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.

Computer architecture, parallel and distributed computing, and storage systems
9 papers
Memory systems · 46% Electronic design automation · 18% Processor architecture and microarchitecture · 13%
Software engineering, system software, and programming languages
2 papers
Compilers and program optimization · 100%

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

TopicWeightPapersLastEvidence papers
Processor architecture and microarchitecture
instruction set architecture
1.532022
Near-Stream Computing: General and Transparent Near-Cache Acceleration · HPCA 2022
Stream Floating: Enabling Proactive and Decentralized Cache Optimizations · HPCA 2021
Stream-based memory access specialization for general purpose processors · ISCA 2019
Memory systems
processing-in-memory
1.422024
PIMSAB: A Processing-In-Memory System with Spatially-Aware Communication and Bit-Serial-Aware Computation · ACM Trans. Archit. Code Optim. 2024
Infinity Stream: Portable and Programmer-Friendly In-/Near-Memory Fusion · ASPLOS (3) 2023
Memory systems › processing-in-memory
near-data processing
1.222023
Affinity Alloc: Taming Not-So Near-Data Computing · MICRO 2023
Near-Stream Computing: General and Transparent Near-Cache Acceleration · HPCA 2022
Memory systems › memory hierarchy
cache hierarchy
0.722022
Stream Floating: Enabling Proactive and Decentralized Cache Optimizations · HPCA 2021
Near-Stream Computing: General and Transparent Near-Cache Acceleration · HPCA 2022
Storage systems
data placement
0.712023
Affinity Alloc: Taming Not-So Near-Data Computing · MICRO 2023
Memory systems
in-memory computing
0.712023
Infinity Stream: Portable and Programmer-Friendly In-/Near-Memory Fusion · ASPLOS (3) 2023
Memory systems › processing-in-memory
near-memory processing
0.712023
Infinity Stream: Portable and Programmer-Friendly In-/Near-Memory Fusion · ASPLOS (3) 2023
Electronic design automation
design space exploration
0.612022
OverGen: Improving FPGA Usability through Domain-specific Overlay Generation · MICRO 2022
Reconfigurable computing and FPGAs › reconfigurable architecture
FPGA overlay architecture
0.612022
OverGen: Improving FPGA Usability through Domain-specific Overlay Generation · MICRO 2022
Electronic design automation
high-level synthesis
0.612022
OverGen: Improving FPGA Usability through Domain-specific Overlay Generation · MICRO 2022
Memory systems
cache management
0.512021
Stream Floating: Enabling Proactive and Decentralized Cache Optimizations · HPCA 2021
Memory systems › cache
cache optimization
0.512021
Stream Floating: Enabling Proactive and Decentralized Cache Optimizations · HPCA 2021
Electronic design automation › high-level synthesis
accelerator generation
0.412020
DSAGEN: Synthesizing Programmable Spatial Accelerators · ISCA 2020
Electronic design automation › design space exploration
automated design space exploration
0.412020
DSAGEN: Synthesizing Programmable Spatial Accelerators · ISCA 2020
Electronic design automation
hardware/software co-design
0.412020
DSAGEN: Synthesizing Programmable Spatial Accelerators · ISCA 2020
Hardware accelerators and domain-specific architectures
spatial architecture
0.412020
A Hybrid Systolic-Dataflow Architecture for Inductive Matrix Algorithms · HPCA 2020
Hardware accelerators and domain-specific architectures
systolic array
0.412020
A Hybrid Systolic-Dataflow Architecture for Inductive Matrix Algorithms · HPCA 2020
Hardware accelerators and domain-specific architectures › machine learning accelerator
DNN accelerator
0.212024
PIMSAB: A Processing-In-Memory System with Spatially-Aware Communication and Bit-Serial-Aware Computation · ACM Trans. Archit. Code Optim. 2024
Interconnection networks and networks-on-chip
on-chip communication
0.212024
PIMSAB: A Processing-In-Memory System with Spatially-Aware Communication and Bit-Serial-Aware Computation · ACM Trans. Archit. Code Optim. 2024
Memory systems › in-memory computing
PIM accelerator
0.212024
PIMSAB: A Processing-In-Memory System with Spatially-Aware Communication and Bit-Serial-Aware Computation · ACM Trans. Archit. Code Optim. 2024
Processor architecture and microarchitecture
chip multiprocessor
0.212023
Affinity Alloc: Taming Not-So Near-Data Computing · MICRO 2023
Parallel and multicore computing
parallel programming models
0.212023
Infinity Stream: Portable and Programmer-Friendly In-/Near-Memory Fusion · ASPLOS (3) 2023
Compilers and program optimization
computation offloading
0.212022
Near-Stream Computing: General and Transparent Near-Cache Acceleration · HPCA 2022
Memory systems › cache › multiprocessor cache
shared cache
0.212022
Near-Stream Computing: General and Transparent Near-Cache Acceleration · HPCA 2022
Hardware accelerators and domain-specific architectures › spatial architecture
spatial accelerator
0.212022
OverGen: Improving FPGA Usability through Domain-specific Overlay Generation · MICRO 2022
High-performance computing
data transfer
0.112021
Stream Floating: Enabling Proactive and Decentralized Cache Optimizations · HPCA 2021
Compilers and program optimization › code generation
compiler mapping
0.112020
DSAGEN: Synthesizing Programmable Spatial Accelerators · ISCA 2020
High-performance computing › numerical linear algebra
dense linear algebra
0.112020
A Hybrid Systolic-Dataflow Architecture for Inductive Matrix Algorithms · HPCA 2020
Processor architecture and microarchitecture › SIMD
vector instructions
0.112019
Stream-based memory access specialization for general purpose processors · ISCA 2019

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

stream abstraction · 1.1microarchitecture design · 1.1ISA extension · 1.1data transposition · 0.7bit-serial logic · 0.7high-level synthesis · 0.6design space exploration · 0.6cycle-level simulation · 0.5vector-stream control · 0.4tagged dataflow execution · 0.4modular transformations · 0.4hardware primitive composition · 0.4
YearPublicationVenuePosition
2024 PIMSAB: A Processing-In-Memory System with Spatially-Aware Communication and Bit-Serial-Aware Computation
abstract
Bit-serial Processing-In-Memory (PIM) is an attractive paradigm for accelerator architectures, for parallel workloads such as Deep Learning (DL), because of its capability to achieve massive data parallelism at a low area overhead and provide orders-of-magnitude data movement savings by moving computational resources closer to the data. While many PIM architectures have been proposed, improvements are needed in communicating intermediate results to consumer kernels, for communication between tiles at scale, for reduction operations, and for efficiently performing bit-serial operations with constants. We present PIMSAB, a scalable architecture that provides a spatially aware communication network for efficient intra-tile and inter-tile data movement and provides efficient computation support for generally inefficient bit-serial compute patterns. Our architecture consists of a massive hierarchical array of compute-enabled SRAMs (CRAMs), which is codesigned with a compiler to achieve high utilization. The key novelties of our architecture are (1) in providing efficient support for spatially aware communication by providing local H-tree network for reductions, by adding explicit hardware for shuffling operands, and by deploying systolic broadcasting, as well as (2) by taking advantage of the divisible nature of bit-serial computations through adaptive precision and efficient handling of constant operations. These innovations are integrated into a tensor expressions-based programming framework (including a compiler for easy programmability) that enables simple programmer control of optimizations for mapping programs into massively parallel binaries for millions of PIM processing elements. When compared against a similarly provisioned modern Tensor Core GPU (NVIDIA A100), across common DL kernels and end-to-end DL networks (Resnet18 and BERT), PIMSAB outperforms the GPU by 4.80×, and reduces energy by 3.76×. We compare PIMSAB with similarly provisioned state-of-the-art SRAM PIM (Duality Cache) and DRAM PIM (SIMDRAM), and observe a speedup of 3.7× and 3.88×, respectively.
Kaustubh Manohar, Jian Weng 0002, Bagus Hanindhito, Zhengrong Wang, Tony Nowatzki, Lizy Kurian John, Aman Arora 0001
ACM Trans. Archit. Code Optim.5
2023 Infinity Stream: Portable and Programmer-Friendly In-/Near-Memory Fusion
abstract
In-memory computing with large last-level caches is promising to dramatically alleviate data movement bottlenecks and expose massive bitline-level parallelization opportunities. However, key challenges from its unique execution model remain unsolved: automated parallelization, transparently orchestrating data transposition/alignment/broadcast for bit-serial logic, and mixing in-/near-memory computing. Most importantly, the solution should be programmer friendly and portable across platforms.
Zhengrong Wang, Christopher Liu, Aman Arora 0001, Lizy Kurian John, Tony Nowatzki
ASPLOS (3)1
2023 Affinity Alloc: Taming Not-So Near-Data Computing
abstract
To mitigate the data movement bottleneck on large multicore systems, the near-data computing paradigm (NDC) offloads computation to where the data resides on-chip. The benefit of NDC heavily depends on spatial affinity, where all relevant data are in the same location, e.g. same cache bank. However, existing NDC works lack a general and systematic solution: they either ignore the problem and abort NDC when there is no spatial affinity, or rely on error-prone manual data placement.
Zhengrong Wang, Christopher Liu, Nathan Beckmann, Tony Nowatzki
MICRO1
2022 Near-Stream Computing: General and Transparent Near-Cache Acceleration
abstract
Data movement and communication have become the primary bottlenecks in large multicore systems. The near-data computing paradigm provides a solution: move computation to where the data resides on-chip. Two challenges keep near-data computing from the mainstream: lack of programmer transparency and applicability. Programmer transparency requires providing sequential memory semantics with distributed computation, which requires burdensome coordination. Broad applicability requires support for combinations of address patterns (e.g. affine, indirect, multi-operand) and computation types (loads, stores, reductions, atomics).We find that streams – coarse grain memory access patterns – are a powerful ISA abstraction for near data offloading. Tracking data access at stream-granularity heavily reduces the burden of coordination for providing sequential semantics. Decomposing the problem using streams means that arbitrary combinations of address and computation patterns can be combined for broad generality.With this insight, we develop a paradigm called near-stream computing, comprising a compiler, CPU ISA extension, and a microarchitecture that facilitate programmer transparent computation offloading to shared caches. We evaluate our system on OpenMP kernels that stress broad addressing and compute behavior, and find that 46% of dynamic instructions can be offloaded to remote banks, reducing the network traffic by 76%. Overall it achieves 2.13× speedup over a state-of-the-art near-data computing technique, with a 1.90× energy efficiency gain.
Zhengrong Wang, Jian Weng 0002, Sihao Liu, Tony Nowatzki
HPCA1
2022 OverGen: Improving FPGA Usability through Domain-specific Overlay Generation
abstract
FPGAs have been proven to be powerful computational accelerators across many types of workloads. The mainstream programming approach is high level synthesis (HLS), which maps high-level languages (e.g. C+ #pragmas) to hardware. Unfortunately, HLS leaves a significant programmability gap in terms of reconfigurability, customization and versatility: Although HLS compilation is fast, the downstream physical design takes hours to days; FPGA reconfiguration time limits the time-multiplexing ability of hardware, and tools do not reason about cross-workload flexibility. Overlay architectures mitigate the above by mapping a programmable design (e.g. CPU, GPU, etc.) on top of FPGAs. However, the abstraction gap between overlay and FPGA leads to low efficiency/utilization. Our essential idea is to develop a hardware generation framework targeting a highly-customizable overlay, so that the abstraction gap can be lowered by tuning the design instance to applications of interest. We leverage and extend prior work on customizable spatial architectures, SoC generation, accelerator compilers, and design space explorers to create an end-to-end FPGA acceleration system. Our novel techniques address inefficient networks between on-chip memories and processing elements, as well as improving DSE by reducing the amount of recompilation required. Our framework, OverGen, is highly competitive with fixed-function HLS-based designs, even though the generated designs are programmable with fast reconfiguration. We compared to a state-of-the-art DSE-based HLS framework, AutoDSE. Without kernel-tuning for AutoDSE, OverGen gets 1.2$\times$ geomean performance, and even with manual kernel-tuning for the baseline, OverGen still gets 0.55$\times$ geomean performance--all while providing runtime flexibility across workloads.
Sihao Liu, Jian Weng 0002, Dylan Kupsh, Atefeh Sohrabizadeh, Zhengrong Wang, Licheng Guo, Jiuyang Liu, Maxim Zhulin, Rishabh Mani, Lucheng Zhang, Jason Cong, Tony Nowatzki
MICRO5
2021 Stream Floating: Enabling Proactive and Decentralized Cache Optimizations
abstract
As multicore systems continue to grow in scale and on-chip memory capacity, the on-chip network bandwidth and latency become problematic bottlenecks. Because of this, overheads in data transfer, the coherence protocol and replacement policies become increasingly important. Unfortunately, even in well-structured programs, many natural optimizations are difficult to implement because of the reactive and centralized nature of traditional cache hierarchies, where all requests are initiated by the core for short, cache line granularity accesses. For example, long-lasting access patterns could be streamed from shared caches without requests from the core. Indirect memory access can be performed by chaining requests made from within the cache, rather than constantly returning to the core. Our primary insight is that if programs can embed information about long-term memory stream behavior in their ISAs, then these streams can be floated to the appropriate level of the memory hierarchy. This decentralized approach to address generation and cache requests can lead to better cache policies and lower request and data traffic by proactively sending data before the cores even request it. To evaluate the opportunities of stream floating, we enhance a tiled multicore cache hierarchy with stream engines to process stream requests in last-level cache banks. We develop several novel optimizations that are facilitated by stream exposure in the ISA, and subsequent exposure to caches. We evaluate using a cycle-level execution-driven gem5-based simulator, using 10 data-processing workloads from Rodinia and 2 streaming kernels written in OpenMP. We find that stream floating enables 52% and 39% speedup over an inorder and OOO core with state of art prefetcher design respectively, with 64% and 49% energy efficiency advantage.
Zhengrong Wang, Jian Weng 0002, Jason Lowe-Power, Jayesh Gaur, Tony Nowatzki
HPCA1
2020 A Hybrid Systolic-Dataflow Architecture for Inductive Matrix Algorithms
abstract
Dense linear algebra kernels are critical for wireless, and the oncoming proliferation of 5G only amplifies their importance. Due to the inductive nature of many such algorithms, parallelism is difficult to exploit: parallel regions have fine-grain producer/consumer interaction with iteratively changing depen-dence distance, reuse rate, and memory access patterns. This makes multi-threading impractical due to fine-grain synchronization, and vectorization ineffective due to the non-rectangular iteration domain. CPUs, DSPs, and GPUs perform order-of-magnitude below peak. Our insight is that if the nature of inductive dependences and memory accesses were explicit in the hardware/software interface, then a spatial architecture could efficiently execute parallel code regions. To this end, we first develop a novel execution model, inductive dataflow, where inductive dependence patterns and memory access patterns (streams) are first-order primitives. Second, we develop a hybrid spatial architecture combining systolic and tagged dataflow execution to attain high utilization at low energy and area cost. Finally, we create a scalable design through a novel vector-stream control model which amortizes control overhead both in time and spatially across architecture lanes. We evaluate our design, REVEL, with a full stack (compiler, ISA, simulator, RTL). Across a suite of linear algebra kernels, REVEL outperforms equally-provisioned DSPs by 4.6×-37×. Compared to state-of-the-art spatial architectures, REVEL is mean 3× faster. Compared to a set of ASICs, REVEL is only 2× the power and half the area.
Jian Weng 0002, Sihao Liu, Zhengrong Wang, Vidushi Dadu, Tony Nowatzki
HPCA3
2020 DSAGEN: Synthesizing Programmable Spatial Accelerators
abstract
Domain-specific hardware accelerators can provide orders of magnitude speedup and energy efficiency over general purpose processors. However, they require extensive manual effort in hardware design and software stack development. Automated ASIC generation (eg. HLS) can be insufficient, because the hardware becomes inflexible. An ideal accelerator generation framework would be automatable, enable deep specialization to the domain, and maintain a uniform programming interface. Our insight is that many prior accelerator architectures can be approximated by composing a small number of hardware primitives, specifically those from spatial architectures. With careful design, a compiler can understand how to use available primitives, with modular and composable transformations, to take advantage of the features of a given program. This suggests a paradigm where accelerators can be generated by searching within such a rich accelerator design space, guided by the affinity of input programs for hardware primitives and their interactions. We use this approach to develop the DSAGEN framework, which automates the hardware/software co-design process for reconfigurable accelerators. For several existing accelerators, our evaluation demonstrates that the compiler can achieve 89% of the performance of manually tuned versions. For automated design space exploration, we target multiple sets of workloads which prior accelerators are design for; the generated hardware has mean 1.3× perf2/mm2over prior programmable accelerators.
Jian Weng 0002, Sihao Liu, Vidushi Dadu, Zhengrong Wang, Preyas Shah, Tony Nowatzki
ISCA4
2019 Stream-based memory access specialization for general purpose processors
abstract
Because of severe limitations in technology scaling, architects have innovated in specializing general purpose processors for computation primitives (e.g. vector instructions, loop accelerators). The general principle is exposing rich semantics to the ISA. An opportunity to explore is whether richer semantics of memory access patterns could also be used to improve the efficiency of memory and communication. Two important open questions are how to convey higher level memory information and how to take advantage of this information in hardware.
Zhengrong Wang, Tony Nowatzki
ISCA1