Abstract
Many regular algorithms, suitable for VLSI implementation, are naturally described by sets of integer index vectors together with a rule that assigns a computation to each vector. Regular VLSI structures for such algorithms can be found by mapping the index vectors to a discrete space-time with integer coordinates. If the scope is restricted to linear or affine mappings, then the minimization of the execution time for the VLSI implementation with respect to the space-time mapping is essentially an integer linear programming (ILP) problem. If the entries in the vector describing the time function must be integers, ILP techniques can be applied directly. There are, however, index sets that allow space-time mappings with rational, nonintegral entries. In such cases, ILP will not consider all possible affine time functions and an optimal solution may go unnoticed. In this paper we give sufficient conditions on the index set for when only integer time functions are allowed. We also give a general algorithm to find a “preconditioning” affine transformation of the index set, such that the transformed index set allows only integer time functions. ILP methods can then be used to find time-optimal architectures for the transformed algorithm. This considerably extends the class of algorithms for which time-optimal VLSI structures can be found.
Similar content being viewed by others
References
M. C. Chen. Transformation of parallel programs in Crystal. In H.-J. Kugler, editor,INFORMATION PROCESSING 86, pages 455–462. Elsevier, Amsterdam (North-Holland, Amsterdam), 1986.
P. E. Danielsson. SeriaVparallel convolvers.IEEE Trans. Comput., 33:652–667, July 1984.
J.-M. Delosme and I. Ipsen. Efficient systolic arrays for the solution of Toeplitz systems: an illustration of a methodology for the construction of systolic architectures in VLSI. In W. Moore, A. McCabe, and R. Urquhart, editors,Systolic Arrays, pages 37–46. Adam Hilger, Bristol, 1987.
H. V. Jagadish, S. K. Rao, and T. Kailath. Array architectures for iterative algorithms.Proc. IEEE, 75(9): 1304–1321, Sept. 1987.
R. Kannan. A polynomial algorithm for the two-variable integer programming problem.J. Assoc. Comput. Mach., 27(1):118–122, Jan. 1980.
R. M. Karp, R. E. Miller, and S. Winograd. The organization of computations for uniform recurrence equations.J. Assoc. Comput. Mach., 14(3):563–590, July 1967.
D. E. Knuth.The Art of Computer Programming, Vol. 2. Addison-Wesley, Reading, MA, 1969.
S. C. Kothari, H. Oh, and E. Gannett. Optimal designs of linear flow systolic architectures.Proc. 1989Internat. Conf. on Parallel Processing, Vol. I, pages 247–256, Aug. 1989.
H. T. Kung and C. E. Leiserson. In C. Mead and L. Conway, editors,Introduction to VLSI Systems, Chapter 8.3. Addison-Wesley, Reading, MA, 1980.
S. Lang.Algebra. Addison-Wesley, Menlo Park, CA, 1984.
B. Lisper.Synthesis of Synchronous Systems by Static Scheduling in Space-Time. Lecture Notes in Computer Science, Volume 362. Springer-Verlag, Berlin, May 1989.
B. Lisper. Synthesis of time-optimal systolic arrays with cells with inner structure.J. Parallel Distrib. Comput., 10(2):182–187, Oct. 1990.
D. I. Moldovan. On the analysis and synthesis of VLSI algorithms.IEEE Trans. Comput., 31:1121–1126, Oct. 1982.
H. Nelis and E. F. Deprettere. A systematic method for mapping algorithms of arbitrarily large dimensions onto fixed size systolic arrays.Proc. IEEE Internat. Symp. on Circuits and Systems, Vol. 2, pages 559–563, May 1987.
M. Newman.Integral Matrices. Pure and Applied Mathematics, Volume 45. Academic Press, New York, 1972.
P. Quinton. Automatic synthesis of systolic arrays from uniform recurrent equations.Proc. 11th Ann. Internat. Symp. on Computer Architecture, pages 208–214, June 1984.
S. V. Rajopadye. Synthesizing systolic arrays with control signals from recurrence equations.Distrib. Comput., 3:88–105, 1989.
I. V. Ramakrishnan, D. S. Fussell, and A. Silberschatz. Mapping homogeneous graphs on linear arrays.IEEE Trans. Comput., 35(3):189–209, March 1986.
S. K. Rao and T. Kailath. Regular iterative algorithms and their implementation on processor arrays.Proc. IEEE, 76(3):259–269, March 1988.
R. Roychowdhury and T. Kailath. Study of parallelism in regular iterative networks.Proc. 2nd Ann. Symp. on Parallel Algorithms and Architectures, pages 305–314, July 1990.
A. Schrijver.Theory of Linear and Integer Programming. Wiley, New York, 1986.
W. Shang and J. A.B. Fortes. On the optimality of linear schedules.J VLSI Signal Process., 1:209–220, 1989.
Y. Wong and J.-M. Delosme. Optimization of computation time for systolic arrays.Proc. 26th Allerton Conf. on Communication, Control and Computing, pages 1104–1113, Sept. 1988.
Y. Wong and J.-M. Delosme. Optimization of Processor Count for Systolic Arrays. Res. Rep. YALEU/DCS/RR-697, Dept. Computer Science, Yale University, May 1989.
Author information
Authors and Affiliations
Additional information
Communicated by M. Snir.
Rights and permissions
About this article
Cite this article
Lisper, B. Preconditioning index set transformations for time-optimal affine scheduling. Algorithmica 15, 193–203 (1996). https://doi.org/10.1007/BF01941688
Received:
Revised:
Issue Date:
DOI: https://doi.org/10.1007/BF01941688