Configurable hardware for symbolic search operations

Most intermediate and high-level vision tasks manipulate symbolic data. A kernel operation in these vision tasks is to search symbolic data satisfying certain geometric constraints. Such operations are data-dependent and their memory access patterns are irregular. In this paper, we propose a fast parallel design for symbolic search operations using configurable hardware. Using a pointer array and a bit-level index array, we manipulate the symbolic data and show high performance can be achieved. Depending on the input data, a corresponding search window is calculated and symbolic search operations are performed in parallel. Performance estimates using 16 Xilinx XC6216s and memory modules are very promising. Given 3519 line segments (extracted from an 1024/spl times/1024 pixel image), the operation can be performed in 1.11 milliseconds on our FPGA-based platform. On a Sun UltraSPARC Model 140, the same operation implemented using C takes 690 milliseconds. Although we illustrate our design for a specific search operation, our design technique can be applied to related search operations with minor modifications. Also, it can be ported to other FPGA devices.

[1]  Hungwen Li,et al.  Connection Autonomy in SIMD Computers: A VLSI Implementation , 1989, J. Parallel Distributed Comput..

[2]  Viktor K. Prasanna,et al.  Parallel object recognition on an FPGA-based configurable computing platform , 1997, Proceedings Fourth IEEE International Workshop on Computer Architecture for Machine Perception. CAMP'97.

[3]  Viktor K. Prasanna,et al.  Fast parallel implementation of DFT using configurable devices , 1997, FPL.

[4]  Viktor K. Prasanna,et al.  An Optimal Sorting Algorithm on Reconfigurable Mesh , 1995, J. Parallel Distributed Comput..

[5]  V. K. Prasanna Kumar,et al.  Parallel architectures and algorithms for image understanding , 1991 .

[6]  Anil K. Jain,et al.  Convolution on Splash 2 , 1995, Proceedings IEEE Symposium on FPGAs for Custom Computing Machines.

[7]  Mohamed Akil,et al.  Low level image processing operators on FPGA: implementation examples and performance evaluation , 1994, Proceedings of the 12th IAPR International Conference on Pattern Recognition, Vol. 2 - Conference B: Computer Vision & Image Processing. (Cat. No.94CH3440-5).

[8]  André DeHon,et al.  Reconfigurable architectures for general-purpose computing , 1996 .

[9]  Peter Athanas,et al.  Addressing the Computational Requirements of Image Processing with a Custom Computing Machine: An Overview1 , 1997 .

[10]  Viktor K. Prasanna,et al.  High-Performance Com uting for Vision , 1996 .

[11]  Ramakant Nevatia,et al.  Matching Images Using Linear Features , 1984, IEEE Transactions on Pattern Analysis and Machine Intelligence.

[12]  Viktor K. Prasanna,et al.  A Fast Algorithm for Computing a Histogram on Reconfigurable Mesh , 1995, IEEE Trans. Pattern Anal. Mach. Intell..

[13]  Russ Miller,et al.  Meshes with reconfigurable buses , 1988 .

[14]  John Wawrzynek,et al.  Garp: a MIPS processor with a reconfigurable coprocessor , 1997, Proceedings. The 5th Annual IEEE Symposium on Field-Programmable Custom Computing Machines Cat. No.97TB100186).

[15]  Ray Bittner Wormhole Run-Time Reconfiguration: Conceptualization and VLSI Design of a High Performance Computing System , 1997 .

[16]  Viktor K. Prasanna,et al.  High-performance computing for vision , 1996, Proc. IEEE.

[17]  Viktor K. Prasanna,et al.  A fast algorithm for computing histograms on a reconfigurable mesh , 1992, [Proceedings 1992] The Fourth Symposium on the Frontiers of Massively Parallel Computation.

[18]  Laurence E. Turner,et al.  Implementation of Fast Fourier Transforms and Discrete Cosine Transforms in FPGAs , 1995, FPL.