Scalable and configurable array architectures for matrix computation

Modern digital signal processing and communications often involve computationally demanding algorithms that deal with large and complex matrix problems such as matrix multiplication and matrix inversion. These computations are commonly demanded in many scientific and engineering applications such as...

Full description

Bibliographic Details
Main Author: Luo, Jianwen
Other Authors: Jong Ching Chuen
Format: Thesis
Language:English
Published: 2008
Subjects:
Online Access:https://hdl.handle.net/10356/13299
_version_ 1811676479786844160
author Luo, Jianwen
author2 Jong Ching Chuen
author_facet Jong Ching Chuen
Luo, Jianwen
author_sort Luo, Jianwen
collection NTU
description Modern digital signal processing and communications often involve computationally demanding algorithms that deal with large and complex matrix problems such as matrix multiplication and matrix inversion. These computations are commonly demanded in many scientific and engineering applications such as radar signal processing, control algorithms, image and video processing, etc. The matrix algorithms are usually computation and memoryintensive. The traditional solutions with digital signal processors or general purpose processors are slow in processing speed and can hardly meet the ever increasing real time processing requirements. An alternative solution to the complex matrix problems is to use hardware accelerators implemented with application specific integrated circuits (ASICs) or reconfigurable hardware such as FPGA devices. The FPGA devices have drawn considerable attention recently due to its reconfigurability feature. With the hardware solutions, data can be processed concurrently in either pipelined or systolic arrays to increase processing speed. The adaptability of the design to different applications or different problem sizes is another important issue to be considered. With the reconfigurability design concept, the same piece of hardware design can be reused for different applications without requiring redesign. To utilize this type of reconfigurable hardware, new design methodology needs to be developed. The new methodology should facilitate short design cycle and promote reusability and reconfigurability. This thesis focuses on studying and exploring the scalable and reconfigurable array architectures for matrix computation, specifically, the highly challenging matrix multiplication and matrix inversion. Several array architectures for matrix multiplication and matrix inversion are proposed, developed and documented here. These architectures have the features of scalable, parameterizable, configurable and efficient in computation speed. A reconfigurable array processor for matrix multiplication is proposed and developed to save both the hardware cost and processing time. The array processor is very versatile and can be configured as a parallel structure, a systolic array or a uniprocessor. The design and implementation of the proposed matrix multiplier, together with its performance in terms of speed and size, are presented in the thesis. A reconfigurable array processor for matrix inversion is proposed and developed to tackle the matrix inversion in two steps. In the first step, the matrix inversion algorithm is divided into two separate segments which can be mapped to the architectures with structural similarity. This allows the computation to be decomposed into and carried out by several simple functional units. By studying the computation sequence, a novel parameterizable Bi-z CORDIC is proposed specially for the functional processing in the matrix inversion. The Bi-z CORDIC takes the advantage of the data processing coherence and eliminates the hardware cost and delay for storing, broadcasting and decomposing the rotation angle values that are usually required. In the second step, two novel mapping methods for mapping efficiently the two-dimensional array onto different linear array architectures are developed. The mapping methods achieve up to 100% processor utilization. With the scalable and reconfigurable matrix processing arrays in hand, different applications can be swapped in and out of a low cost of dynamically reconfigurable computing platforms. A study is carried out on dynamical and partial reconfiguration (DPR). A DPR platform is proposed and developed for matrix computation acceleration. The DPR platform increases the hardware efficiency by dynamically altering the circuits according to the execution requirements without interrupting the operation of the application. With the development of these generically predefined reconfigurable matrix processors and the proposed dynamically reconfigurable computing platform, the feasibility and efficiency of the scalable and reconfigurable array architectures for complex data processing is demonstrated in the thesis.
first_indexed 2024-10-01T02:22:08Z
format Thesis
id ntu-10356/13299
institution Nanyang Technological University
language English
last_indexed 2024-10-01T02:22:08Z
publishDate 2008
record_format dspace
spelling ntu-10356/132992023-07-04T16:56:56Z Scalable and configurable array architectures for matrix computation Luo, Jianwen Jong Ching Chuen School of Electrical and Electronic Engineering DRNTU::Engineering::Electrical and electronic engineering::Computer hardware, software and systems Modern digital signal processing and communications often involve computationally demanding algorithms that deal with large and complex matrix problems such as matrix multiplication and matrix inversion. These computations are commonly demanded in many scientific and engineering applications such as radar signal processing, control algorithms, image and video processing, etc. The matrix algorithms are usually computation and memoryintensive. The traditional solutions with digital signal processors or general purpose processors are slow in processing speed and can hardly meet the ever increasing real time processing requirements. An alternative solution to the complex matrix problems is to use hardware accelerators implemented with application specific integrated circuits (ASICs) or reconfigurable hardware such as FPGA devices. The FPGA devices have drawn considerable attention recently due to its reconfigurability feature. With the hardware solutions, data can be processed concurrently in either pipelined or systolic arrays to increase processing speed. The adaptability of the design to different applications or different problem sizes is another important issue to be considered. With the reconfigurability design concept, the same piece of hardware design can be reused for different applications without requiring redesign. To utilize this type of reconfigurable hardware, new design methodology needs to be developed. The new methodology should facilitate short design cycle and promote reusability and reconfigurability. This thesis focuses on studying and exploring the scalable and reconfigurable array architectures for matrix computation, specifically, the highly challenging matrix multiplication and matrix inversion. Several array architectures for matrix multiplication and matrix inversion are proposed, developed and documented here. These architectures have the features of scalable, parameterizable, configurable and efficient in computation speed. A reconfigurable array processor for matrix multiplication is proposed and developed to save both the hardware cost and processing time. The array processor is very versatile and can be configured as a parallel structure, a systolic array or a uniprocessor. The design and implementation of the proposed matrix multiplier, together with its performance in terms of speed and size, are presented in the thesis. A reconfigurable array processor for matrix inversion is proposed and developed to tackle the matrix inversion in two steps. In the first step, the matrix inversion algorithm is divided into two separate segments which can be mapped to the architectures with structural similarity. This allows the computation to be decomposed into and carried out by several simple functional units. By studying the computation sequence, a novel parameterizable Bi-z CORDIC is proposed specially for the functional processing in the matrix inversion. The Bi-z CORDIC takes the advantage of the data processing coherence and eliminates the hardware cost and delay for storing, broadcasting and decomposing the rotation angle values that are usually required. In the second step, two novel mapping methods for mapping efficiently the two-dimensional array onto different linear array architectures are developed. The mapping methods achieve up to 100% processor utilization. With the scalable and reconfigurable matrix processing arrays in hand, different applications can be swapped in and out of a low cost of dynamically reconfigurable computing platforms. A study is carried out on dynamical and partial reconfiguration (DPR). A DPR platform is proposed and developed for matrix computation acceleration. The DPR platform increases the hardware efficiency by dynamically altering the circuits according to the execution requirements without interrupting the operation of the application. With the development of these generically predefined reconfigurable matrix processors and the proposed dynamically reconfigurable computing platform, the feasibility and efficiency of the scalable and reconfigurable array architectures for complex data processing is demonstrated in the thesis. DOCTOR OF PHILOSOPHY (EEE) 2008-10-20T07:23:43Z 2008-10-20T07:23:43Z 2008 2008 Thesis Luo, J. (2008). Scalable and configurable array architectures for matrix computation. Doctoral thesis, Nanyang Technological University, Singapore. https://hdl.handle.net/10356/13299 10.32657/10356/13299 en 200 p. application/pdf
spellingShingle DRNTU::Engineering::Electrical and electronic engineering::Computer hardware, software and systems
Luo, Jianwen
Scalable and configurable array architectures for matrix computation
title Scalable and configurable array architectures for matrix computation
title_full Scalable and configurable array architectures for matrix computation
title_fullStr Scalable and configurable array architectures for matrix computation
title_full_unstemmed Scalable and configurable array architectures for matrix computation
title_short Scalable and configurable array architectures for matrix computation
title_sort scalable and configurable array architectures for matrix computation
topic DRNTU::Engineering::Electrical and electronic engineering::Computer hardware, software and systems
url https://hdl.handle.net/10356/13299
work_keys_str_mv AT luojianwen scalableandconfigurablearrayarchitecturesformatrixcomputation