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

Ling Zhuo

dblp:76/5845 · DBLP profile ↗
← Back
17ranked-venue papers
14as first author
0since 2021 · last 2008
0000-0001-9244-0115ORCID · corroborated

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

Systems, architecture and hardware · 16 · 13 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
6 papers
High-performance computing · 48% Reconfigurable computing and FPGAs · 41% Hardware accelerators and domain-specific architectures · 5%

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

TopicWeightPapersLastEvidence papers
Reconfigurable computing and FPGAs
FPGA accelerator
0.342008
Scalable Hybrid Designs for Linear Algebra on Reconfigurable Computing Systems · IEEE Trans. Computers 2008
High-Performance Designs for Linear Algebra Operations on Reconfigurable Hardware · IEEE Trans. Computers 2008
High-Performance Reduction Circuits Using Deeply Pipelined Operators on FPGAs · IEEE Trans. Parallel Distributed Syst. 2007
High-performance computing
scientific computing
0.222008
Scalable Hybrid Designs for Linear Algebra on Reconfigurable Computing Systems · IEEE Trans. Computers 2008
High-Performance Designs for Linear Algebra Operations on Reconfigurable Hardware · IEEE Trans. Computers 2008
High-performance computing › numerical linear algebra
linear algebra acceleration
0.122008
Scalable Hybrid Designs for Linear Algebra on Reconfigurable Computing Systems · IEEE Trans. Computers 2008
High Performance Linear Algebra Operations on Reconfigurable Systems · SC 2005
High-performance computing › scientific computing
scientific computing kernels
0.122007
Scalable and Modular Algorithms for Floating-Point Matrix Multiplication on Reconfigurable Computing Systems · IEEE Trans. Parallel Distributed Syst. 2007
Sparse Matrix-Vector multiplication on FPGAs · FPGA 2005
High-performance computing
numerical linear algebra
0.112008
High-Performance Designs for Linear Algebra Operations on Reconfigurable Hardware · IEEE Trans. Computers 2008
Reconfigurable computing and FPGAs
reduction circuits
0.112007
High-Performance Reduction Circuits Using Deeply Pipelined Operators on FPGAs · IEEE Trans. Parallel Distributed Syst. 2007
High-performance computing › linear algebra library
BLAS
0.112005
High Performance Linear Algebra Operations on Reconfigurable Systems · SC 2005
Reconfigurable computing and FPGAs
FPGA-based scientific computing
0.112005
High Performance Linear Algebra Operations on Reconfigurable Systems · SC 2005
High-performance computing
linear algebra library
0.112005
High Performance Linear Algebra Operations on Reconfigurable Systems · SC 2005
Hardware accelerators and domain-specific architectures › sparse matrix multiplication accelerator
sparse linear algebra accelerator
0.112005
Sparse Matrix-Vector multiplication on FPGAs · FPGA 2005
High-performance computing › sparse linear algebra › sparse matrix computation
sparse matrix-vector multiplication
0.112005
Sparse Matrix-Vector multiplication on FPGAs · FPGA 2005
Parallel and multicore computing
load balancing
0.012008
Scalable Hybrid Designs for Linear Algebra on Reconfigurable Computing Systems · IEEE Trans. Computers 2008
Parallel and multicore computing
task partitioning
0.012008
Scalable Hybrid Designs for Linear Algebra on Reconfigurable Computing Systems · IEEE Trans. Computers 2008
Parallel and multicore computing › array processor
linear array
0.012007
Scalable and Modular Algorithms for Floating-Point Matrix Multiplication on Reconfigurable Computing Systems · IEEE Trans. Parallel Distributed Syst. 2007
Reconfigurable computing and FPGAs › coarse-grained reconfigurable architecture
processing element design
0.012007
Scalable and Modular Algorithms for Floating-Point Matrix Multiplication on Reconfigurable Computing Systems · IEEE Trans. Parallel Distributed Syst. 2007
Memory systems
memory bandwidth
0.012005
Sparse Matrix-Vector multiplication on FPGAs · FPGA 2005

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

scalability analysis · 0.1parameterized design · 0.1hardware-software co-design · 0.1hardware resource trade-off analysis · 0.1design modeling · 0.1tree-traversal method · 0.1striding method · 0.1pipeline design · 0.1parameterized algorithm design · 0.1linear-array architecture · 0.1
YearPublicationVenuePosition
2008 Matrix Computations on Heterogeneous Reconfigurable Systems
abstract
Reconfigurable computing systems have been built that combine FPGAs and general-purpose processors to achieve high performance. The nodes in these systems can have different compute capacities based on the processors and FPGAs within them. In this paper, we study the algorithm design on heterogeneous reconfigurable systems for two key linear algebra kernels: matrix multiplication and LU decomposition. Our designs exploit the heterogeneous nodes and utilize up to 80% of the compute capacity of the system.
Ling Zhuo, Qingbo Wang, Viktor Prasanna 0001
FCCM1
2008 High-Performance Designs for Linear Algebra Operations on Reconfigurable Hardware
abstract
Numerical linear algebra operations are key primitives in scientific computing. Performance optimizations of such operations have been extensively investigated. With the rapid advances in technology, hardware acceleration of linear algebra applications using FPGAs (Field Programmable Gate Arrays) has become feasible. In this paper, we propose FPGA-based designs for several basic linear algebra operations, including dot product, matrix-vector multiplication, matrix multiplication and matrix factorization. By identifying the parameters for each operation, we analyze the trade-offs and propose a high-performance design. In the implementations of the designs, the values of the parameters are determined according to the hardware constraints, such as the available chip area, the size of available memory, the memory bandwidth, and the number of I/O pins. The proposed designs are implemented on Xilinx Virtex-II Pro FPGAs. Experimental results show that our designs scale with the available hardware resources. Also, the performance of our designs compares favorably with that of general-purpose processor based designs. We also show that with faster floating-point units and larger devices, the performance of our designs increases accordingly.
Ling Zhuo, Viktor Prasanna 0001
IEEE Trans. Computers1
2008 Scalable Hybrid Designs for Linear Algebra on Reconfigurable Computing Systems
abstract
Recently, high-end reconfigurable computing systems have been built that employ Field Programmable Gate Arrays (FPGAs) as hardware accelerators for general-purpose processors. These systems not only provide new opportunities for high-performance computing, but also pose new challenges to application developers. In this paper, we build a design model for hybrid designs that utilize both the processors and the FPGAs. The model characterizes a reconfigurable computing system using various parameters. Based on the model, we propose a design methodology for hardware/software co-design. The methodology partitions workload between the processors and the FPGAs, maintains load balance in the system, and realizes scalability over multiple nodes. Designs are proposed for several computationally intensive applications: matrix multiplication, matrix factorization and the Floyd-Warshall algorithm for the all-pairs shortest-paths problem. To illustrate our ideas, the proposed hybrid designs are implemented on a Cray XD1. Experimental results show that our designs utilize both the processors and the FPGAs efficiently, and overlap most of the data transfer overheads and network communication costs with the computations. Our designs achieve up to 90% of the total performance of the nodes, and 90% of the performance predicted by the design model. In addition, our designs scale over a large number of nodes.
Ling Zhuo, Viktor Prasanna 0001
IEEE Trans. Computers1
2008 Area-Efficient Arithmetic Expression Evaluation Using Deeply Pipelined Floating-Point Cores
abstract
Recently, it has become possible to implement floating-point cores on field-programmable gate arrays (FPGAs) to provide acceleration for the myriad applications that require high-performance floating-point arithmetic. To achieve high clock rates, floating-point cores for FPGAs must be deeply pipelined. This deep pipelining makes it difficult to reuse the same floating-point core for a series of dependent computations. However, floating-point cores use a great deal of area, so it is important to use as few of them in an architecture as possible. In this paper, we describe area-efficient architectures and algorithms for arithmetic expression evaluation. Such expression evaluation is necessary in applications from a wide variety of fields, including scientific computing and cognition. The proposed designs effectively hide the pipeline latency of the floating-point cores and use at most two floating-point cores for each type of operator in the expression. While best-suited for particular classes of expressions, the proposed designs can evaluate general expressions as well. Additionally, multiple expressions can be evaluated without reconfiguration. Experimental results show that the areas of our designs increase linearly with the number of types of operations in the expression and that our designs occupy less area and achieve higher throughput than designs generated by a commercial hardware compiler.
Ronald Scrofano, Ling Zhuo, Viktor Prasanna 0001
IEEE Trans. Very Large Scale Integr. Syst.2
2007 Hardware/Software Co-Design for Matrix Computations on Reconfigurable Computing Systems
abstract
Recently, reconfigurable computing systems have been built which employ field-programmable gate arrays (FPGAs) as hardware accelerators for general-purpose processors. These systems provide new opportunities for scientific computations. However, the co-existence of the processors and the FPGAs in such systems also poses new challenges to application developers. In this paper, we investigate a design model for hybrid designs, that is, designs that utilize both the processors and the FPGAs. The model characterizes a reconfigurable computing system using various system parameters, including the floating-point computing power of the processor and the FPGA, the number of nodes, the memory bandwidth and the network bandwidth. Using the model, we investigate hardware/software co-design for two computationally intensive applications: matrix factorization and all-pairs shortest-paths problem. Our designs balance the load between the processor and the FPGA, as well as overlap the computation time with memory transfer time and network communication time. The proposed designs are implemented on 6 nodes in a Cray XD1 chassis. Our implementations achieve 20 GFLOPS and 6.6 GFLOPS for these two applications, respectively.
Ling Zhuo, Viktor Prasanna 0001
IPDPS1
2007 High-Performance Reduction Circuits Using Deeply Pipelined Operators on FPGAs
abstract
Field-programmable gate arrays (FPGAs) have become an attractive option for accelerating scientific applications. Many scientific operations such as matrix-vector multiplication and dot product involve the reduction of a sequentially produced stream of values. Unfortunately, because of the pipelining in FPGA-based floating-point units, data hazards may occur during these sequential reduction operations. Improperly designed reduction circuits can adversely impact the performance, impose unrealistic buffer requirements, and consume a significant portion of the FPGA. In this paper, we identify two basic methods for designing serial reduction circuits: the tree-traversal method and the striding method. Using accumulation as an example, we analyze the design trade-offs among the number of adders, buffer size, and latency. We then propose high-performance and area-efficient designs using each method. The proposed designs reduce multiple sets of sequentially delivered floating-point values without stalling the pipeline or imposing unrealistic buffer requirements. Using a Xilinx Virtex-ll Pro FPGA as the target device, we implemented our designs and present performance and area results.
Ling Zhuo, Gerald R. Morris, Viktor Prasanna 0001
IEEE Trans. Parallel Distributed Syst.1
2007 Scalable and Modular Algorithms for Floating-Point Matrix Multiplication on Reconfigurable Computing Systems
abstract
The abundant hardware resources on current reconfigurable computing systems provide new opportunities for high-performance parallel implementations of scientific computations. In this paper, we study designs for floating-point matrix multiplication, a fundamental kernel in a number of scientific applications, on reconfigurable computing systems. We first analyze design trade-offs in implementing this kernel. These trade-offs are caused by the inherent parallelism of matrix multiplication and the resource constraints, including the number of configurable slices, the size of on-chip memory, and the available memory bandwidth. We propose three parameterized algorithms which can be tuned according to the problem size and the available hardware resources. Our algorithms employ linear array architecture with simple control logic. This architecture effectively utilizes the available resources and reduces routing complexity. The processing elements (PEs) used in our algorithms are modular so that it is easy to embed floating-point units into them. Experimental results on a Xilinx Virtex-ll Pro XC2VP100 show that our algorithms achieve good scalability and high sustained GFLOPS performance. We also implement our algorithms on Cray XD1. XD1 is a high-end reconfigurable computing system that employs both general-purpose processors and reconfigurable devices. Our algorithms achieve a sustained performance of 2.06 GFLOPS on a single node of XD1
Ling Zhuo, Viktor Prasanna 0001
IEEE Trans. Parallel Distributed Syst.1
2006 High-Performance and Parameterized Matrix Factorization on FPGAs
abstract
FPGAs have become an attractive choice for scientific computing. In this paper, we propose a high performance design for LU decomposition, a key kernel in many scientific and engineering applications. Our design achieves the optimal performance for LU decomposition using the available hardware resources. The design is parameterized. Thus, it can be easily adapted to various hardware constraints. Experimental results show that our design achieves high performance and offers good scalability. Our implementation on a Xilinx Virtex-II Pro XC2VP100 achieves superior sustained floating-point performance over existing FPGA-based implementations and optimized libraries on the state-of-the-art processors.
Ling Zhuo, Viktor Prasanna 0001
FPL1
2005 High-Performance FPGA-Based General Reduction Methods
abstract
FPGA-based floating-point kernels must exploit algorithmic parallelism and use deeply pipelined cores to gain a performance advantage over general-purpose processors. Inability to hide the latency of lengthy pipelines can significantly reduce the performance or impose unrealistic buffer requirements. Designs requiring reduction operations such as accumulation are particularly susceptible. In this paper we introduce two high-performance FPGA-based methods for reducing multiple sets of sequentially delivered floating-point values in optimal time without stalling the pipeline.
Gerald R. Morris, Ling Zhuo, Viktor Prasanna 0001
FCCM2
2005 Sparse Matrix-Vector multiplication on FPGAs
abstract
Floating-point Sparse Matrix-Vector Multiplication (SpMXV) is a key computational kernel in scientific and engineering applications. The poor data locality of sparse matrices significantly reduces the performance of SpMXV on general-purpose processors, which rely heavily on the cache hierarchy to achieve high performance. The abundant hardware resources on current FPGAs provide new opportunities to improve the performance of SpMXV. In this paper, we propose an FPGA-based design for SpMXV. Our design accepts sparse matrices in Compressed Row Storage format, and makes no assumptions about the sparsity structure of the input matrix. The design employs IEEE-754 format double-precision floating-point multipliers/adders, and performs multiple floating-point operations as well as I/O operations in parallel. The performance of our design for SpMXV is evaluated using various sparse matrices from the scientific computing community, with the Xilinx Virtex-II Pro XC2VP70 as the target device. The MFLOPS performance increases with the hardware resources on the device as well as the available memory bandwidth. For example, when the memory bandwidth is 8 GB/s, our design achieves over 350 MFLOPS for all the test matrices. It demonstrates significant speedup over general-purpose processors particularly for matrices with very irregular sparsity structure. Besides solving SpMXV problem, our design provides a parameterized and flexible tree-based design for floating-point applications on FPGAs.
Ling Zhuo, Viktor Prasanna 0001
FPGA1
2005 Design Tradeoffs for BLAS Operations on Reconfigurable Hardware
abstract
Numerical linear algebra operations are key primitives in scientific computing. Performance optimizations of such operations have been extensively investigated and some basic operations have been implemented as software libraries. With the rapid advances in technology, hardware acceleration of linear algebra applications using FPGAs (field programmable gate arrays) has become feasible. In this paper, we propose FPGA-based designs for several BLAS operations, including vector product, matrix-vector multiply, and matrix multiply. By identifying the design parameters for each BLAS operation, we analyze the design tradeoffs. In the implementations of the designs, the values of the design parameters are determined according to the hardware constraints, such as the available area, the size of on-chip memory, the external memory bandwidth and the number of I/O pins. The proposed designs are implemented on a Xilinx Virtex-II Pro FPGA.
Ling Zhuo, Viktor Prasanna 0001
ICPP1
2005 High-Performance and Area-Efficient Reduction Circuits on FPGAs
abstract
Field-programmable gate arrays (FPGAs) have become an attractive option for scientific applications. However, due to the pipelining in the FPGA-based floating-point units, data hazards may occur during reduction of series of values. A typical example of reduction is the accumulation of sets of floating-point values, which is needed in many scientific operations such as dot product and matrix-vector multiplication. Reduction circuits can significantly impact the overall performance, impose unrealistic buffer requirements, or occupy large area on the FPGA. In this paper, we introduce a high-performance and area-efficient FPGA-based reduction circuit. It can reduce multiple sets of sequentially delivered floating-point values without stalling the pipeline. In contrast with previous works, the proposed circuit uses one floating-point adder, and can handle input sets of arbitrary size. The buffer size needed by the circuit is independent of the size of the individual sets and the number of input sets. Using a Xilinx Virtex-II Pro FPGA as the target device, we implement the proposed reduction circuit and present performance and area results.
Ling Zhuo, Viktor Prasanna 0001
SBAC-PAD1
2005 High Performance Linear Algebra Operations on Reconfigurable Systems
abstract
Field-Programmable Gate Arrays (FPGAs) have become an attractive option for scientific computing. Several vendors have developed high performance reconfigurable systems which employ FPGAs for application acceleration. In this paper, we propose a BLAS (Basic Linear Algebra Subprograms) library for state-of-the-art reconfigurable systems. We study three data-intensive operations: dot product, matrix-vector multiply and dense matrix multiply. The first two operations are I/O bound, and our designs efficiently utilize the available memory bandwidth in the systems. As these operations require accumulation of sequentially delivered floating-point values, we develop a high performance reduction circuit. This circuit uses only one floating-point adder and buffers of moderate size. For matrix multiply operation, we propose a design which employs a linear array of FPGAs. This design exploits the memory hierarchy in the reconfigurable systems, and has very low memory bandwidth requirements. To illustrate our ideas, we have implemented our designs for Level 2 and Level 3 BLAS on Cray XD1.
Ling Zhuo, Viktor Prasanna 0001
SC1
2004 Analysis of High-Performance Floating-Point Arithmetic on FPGAs
abstract
Summary form only given. FPGAs are increasingly being used in the high performance and scientific computing community to implement floating-point based hardware accelerators. We analyze the floating-point multiplier and adder/subtractor units by considering the number of pipeline stages of the units as a parameter and use throughput/area as the metric. We achieve throughput rates of more than 240 Mhz (200 Mhz) for single (double) precision operations by deeply pipelining the units. To illustrate the impact of the floating-point units on a kernel, we implement a matrix multiplication kernel based on our floating-point units and show that a state-of-the-art FPGA device is capable of achieving about 15 GFLOPS (8 GFLOPS) for the single (double) precision floating-point based matrix multiplication. We also show that FPGAs are capable of achieving up to 6x improvement (for single precision) in terms of the GFLOPS/W (performance per unit power) metric over that of general purpose processors. We then discuss the impact of floating-point units on the design of an energy efficient architecture for the matrix multiply kernel.
Gokul Govindu, Ling Zhuo, Seonil Brian Choi, Viktor Prasanna 0001
IPDPS2
2004 Scalable and Modular Algorithms for Floating-Point Matrix Multiplication on FPGAs
abstract
Summary form only given. The abundant hardware resources on current FPGAs provide new opportunities to improve the performance of hardware implementations of scientific computations. We propose two FPGA-based algorithms for floating-point matrix multiplication, a fundamental kernel in a number of scientific applications. We analyze the design tradeoffs in implementing this kernel on FPGAs. Our algorithms employ a linear array architecture with a small control logic. This architecture effectively utilizes the hardware resources on the entire FPGA and reduces the routing complexity. The processing elements (PEs) used in our algorithms are modular so that floating-point units can be easily embedded into them. In our designs, the floating-point units are optimized to maximize the number of PEs integrated on the FPGA as well as the clock speed. Experimental results show that our algorithms achieve high clock speeds and provide good scalability. Our algorithms achieve superior sustained floating-point performance compared with existing FPGA-based implementations and state-of-the-art processors.
Ling Zhuo, Viktor Prasanna 0001
IPDPS1
2003 Document replication and distribution in extensible geographically distributed web servers
Ling Zhuo, Cho-Li Wang, Francis C. M. Lau 0001
J. Parallel Distributed Comput.1
2002 Load Balancing in Distributed Web Server Systems with Partial Document Replication
abstract
How documents of a Web site are replicated and where they are placed among the server nodes have an important bearing on balance of load in a geographically distributed Web server (DWS) system. The traffic generated due to movements of documents at runtime could also affect the performance of the DWS system. In this paper, we prove that minimizing such traffic is NP-hard. We propose a new document distribution scheme that periodically performs partial replication of a site's documents at selected server locations to maintain load balancing. Several approximation algorithms are used in it to minimize traffic generated. The simulation results show that this scheme can achieve better load balancing than a dynamic scheme, while the internal traffic it causes has a negligible effect on the system's performance.
Ling Zhuo, Cho-Li Wang, Francis C. M. Lau 0001
ICPP1