Abstract
Effective optimization of FPS Array Processor assembly language (APAL) is difficult. Instructions must be rearranged and consolidated to minimize periods during which the functional units remain idle or perform unnecessary tasks. Register conflicts and branches cause complications. Deterministic algorithms to arrange instructions traditionally use complex heuristics which are tailored to specific inputs. A non-deterministic approach can be simpler and effective on a large class of inputs. This is a progress report on the “Monte Carlo” optimizer under construction at Cornell University by the authors. This optimizer randomly modifies the text of an APAL program without changing its meaning. Modifications which improve the program are favored. A set of six elementary transformations are the basis for modifications.
- 1 FPS Technical Publications Staff, Programmers Reference Manual, (Parts I and II), (AP-120B, AP-190L), 1st edition, 1978.Google Scholar
- 2 FPS Technical Publications Staff, APAL64 Programmer's Reference Manual 1982.Google Scholar
- 3 D. Landskov, S. Davidson, B. Shriver, P.W. Mallett "Local Microcode Compaction Techniques" Comput surveys Vol 12 p261 1980 Google Scholar
Digital Library
- 4 J.A. Fisher IEEE-Trans Comput C-30 4/78 1981Google Scholar
- 5 K. Binder, Monte Carlo Methods in Statistical Physics (Springer Verleg, Berlin, 1979)Google Scholar
- 6 N. Metropolis, A. W. Rosenbluth, M. N. Rosenbluth, A. H. Teller, E. Teller, J. Chem. Phys. 21, 1087 (1953)Google Scholar
Cross Ref
- 7 "Statistical Mechanics Algorithm for Monte Carlo Optimization" Physics Today, p 17-19, May 1982.Google Scholar
- 8 N. Gimbrone, K. Wilson "Monte Carlo Optimization" in ARRAY proceedings 1981Google Scholar
Index Terms
Monte Carlo techniques in code optimization
Recommendations
Monte Carlo techniques in code optimization
MICRO 15: Proceedings of the 15th annual workshop on MicroprogrammingEffective optimization of FPS Array Processor assembly language (APAL) is difficult. Instructions must be rearranged and consolidated to minimize periods during which the functional units remain idle or perform unnecessary tasks. Register conflicts and ...






Comments