
The RASSP Digest - Vol. 3, September 1996
MAT2DSP - A MATLAB Tool for the Automatic Evaluation of the Implementation Requirements of Signal Processing Algorithms
by S. Bose and B. Friedlander
Abstract
MAT2DSP is a MATLAB toolbox whose function is to estimate the implementation requirements of advanced signal and image processing algorithms specified in the form of MATLAB programs.
1. Objectives
The MAT2DSP toolbox seeks to be a user-friendly tool designed for researchers developing advanced signal and image processing algorithms. This is intended to supply quick and rough estimates of what would be needed to implement their algorithm on a specified processor (or processors) without necessarily involving them in all the implementation details. Such rapid feedback will enable the researcher to do a rudimentary but painless cost/benefit analysis early in the design process and focus on algorithms which are likely to meet the system constraints.
2. Summary of Technical Approach
The main approach being pursued here is to decompose any algorithm into its basic functional units called primitives and use a database containing the cost/requirements for implementing each primitive on any specified processor to obtain an estimate for the whole algorithm or any of its functional parts on that processor. Such an estimate is necessarily rough since it ignores the possibility of optimization in the implementation. However this can be supplied quickly and easily without requiring the target user to get involved with all the finer aspects of the processor implementation, enabling a rapid and easy feedback as stated in the objective.
The MAT2DSP has four main components - a program analyzer, a database incorporating information on various DSP processors, a report generator for presenting the estimates of cost/requirements and a database creation package for generating the database for each DSP processor.
The program analyzer's task is to parse the input MATLAB program and generate a functional profile of the algorithm, i.e., break up the algorithm in a hierarchy of functional sub-units terminating at the primitives. Further, the costs associated with each sub-unit are obtained in one of two alternative modes -- pre-run analysis and run-mode analysis. This is done using a translated version of the target program in which all the primitives are mediated via a special program which therefore allows access to them. The pre-run analysis tool generates the estimates without actually running the algorithm; the estimates are then independent of the actual values of the input. The run-mode analysis tool, invoked when pre-run analysis is not possible, obtains the same estimates while running the target program, primitive by primitive.
The report generator combines the information in the functional profile along with the database information to present reports summarizing or detailing the cost/requirements to the user. A user interface is intended to enable the user to customize the report and make comparisons across different processor platforms.
The database creation package is used initially to generate the database and subsequently to update or augment it. It involves an experiment manager to benchmark implementations of the primitives on different platforms and a database generator to compile and consolidate the collected data from the experiment manager into the database for use by the report generator.
Figure 1 gives an overview of the whole MAT2DSP package highlighting the interrelationship of its main components.
3. Technical Contributions/Achievements
As of now the program analyzer component has been completed and a version is being tested. An automated experiment manager has been developed for obtaining data running MATLAB on various platforms. However the data for DSP processors has to be collected manually which is the task currently underway. A simple report generator and user interface has also been developed.
Table 1 summarizes the current status of the various components.
As of now, it has been possible to compare estimates of the running time of MATLAB programs with the actual times. The observed discrepancy of 20-50 is well within the design goals.
4. Deliverables and Availability
At the end of the project the MAT2DSP toolbox and related documentation will be delivered to the government.
5. Publications
[1] B. Friedlander, “MAT2DSP -- A Tool for Evaluating Implementation Complexity of Signal Processing Algorithms,” Intl. Conference on Acoustics, Speech and Signal Processing, Detroit, Michigan, 5/8-12/95.
[2] A. Zeira, S. Bose and B. Friedlander, “MAT2DSP - A Tool for Automatic Evaluation of the Implementation Costs of Signal Processing Algorithms,” submitted to the Journal of VLSI Signal Processing, special issue on “Design and Implementation of Signal Processing Systems.”
[3] A. Zeira and B. Friedlander, “Run-time analysis of the computational requirements of MATLAB programs,” MAT2DSP Technical Report, July 1995.
[4] S. Bose and B. Friedlander, “The MAT2DSP Database Generator,” MAT2DSP Technical Report, September 1995.
S. Bose
Department of Electrical and Computer Engineering
University of California
Davis, CA 95616
sbose@ece.ucdavis.edu
B. Friedlander
Department of Electrical and Computer Engineering
University of California
Davis, CA 95616
friedlan@ece.ucdavis.edu
Newsletter Index
The RASSP Digest - Vol. 3, September 1996
newsletter/html/96sep/news_12.html