Abstract
We describe Nestor, a library to easily manipulate Fortran programs through a high level internal representation based on C++ classes. Nestor is a research tool that can be used to quickly implement source to source transformations. The input of the library is Fortran 77, Fortran 90 and HPF 2.0. Its current output supports the same languages plus some dialects such as Petit, OpenMP, CrayMP. Compared to SUIF 2.0 that is still announced, Nestor is less ambitious, but is light, ready to use (http://www.ens-lyon.fr/~gsilber/nestor), fully documented and is better suited for Fortran to Fortran transformations.
Preview
Unable to display preview. Download preview PDF.
References
John Randy Allen and Ken Kennedy. Automatic Translation of Fortran Programs to Vector Form. ACM Transactions on Programming Languages and Systems, 9(4):491–542, October 1987.
John Randy Allen, Ken Kennedy, Carrie Porterfield, and Joe Warren. Conversion of Control Dependence to Data Dependence. In Confernece Record of the Tenth Annual ACM Symposium on the Principles of Programming Language, Austin, Texas, January 1983.
David F. Bacon, Susan L. Graham, and Oliver J. Sharp. Complier transformations for high-performance computing. ACM Computing, Surveys, 26(4), 1994.
Pierre Boulet. Bouclettes: A fortran loop parallelizer. In HPCN 96, pages 784–791, Bruxelles, Belgium, June 1996. Springer Verlag Lecture Notes in Computer Science.
T. Brandes, S. Chaumette, M.-C. Counilh, A. Darte, J.C. Mignot, F. Desprez, and J. Roman. HPFIT: A Set of Integrated Tools for the Parallelization of Applications Using High Performance Fortran: Part I: HPFIT and the TransTOOL Environment. Parallel Computing, 23(1–2):71–87, 1997.
Thomas Brandes. ADAPTOR, High Performance Fortran Complication System. World Wide Web document, http://www.gmd.de/SCAI/lab/adaptor/adaptor_home.html.
Alain Darte, Georges-André, Silber, and Frédéric Vivien. Combining Retiming and Scheduling Techniques for Loop Parallelization and Loop Tiling. Parallel Processing Letters, 7(4):369–392, 1997.
Alain Darte, and Frédéric Vivien. Optimal fine and medium grain parallelism detection in polyhedral reduced dependence graphs. International Journal of Parallel Programming, 25(6):447–497, 1997.
F. Desprez, and B. Tourancheau. LOCCS: Low Overhead Communication and Computation Subroutines. Future Generation Computer Systems, 10(2&3):279–284, June 1994.
Paul Feautrier. Some efficient solutions to the affine scheduling problems, part II: multi-dimensional time. Int. J. Parallel Programming, 21(6):389–420, December 1992.
High Performance Fortran Forum. High Performance Fortran Language Specification. Technical Report 2.0, Rice University, January 1997.
The group of Pr. Lengauer. The loopo project. World Wide, Web document, http://brahms.fmi.uni-passau.de/cl/loopo/index.html.
Ken Kennedy and Kathryn S. McKinley. Loop Distribution with Arbitrary Control Flow. In Supercomputing'90, August 1990.
Amy W. Lim and Monica S. Lam. Maximizing parallelism and minimizing synchronization with affine transforms. In Proceedings of the 24th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages. ACM Press, January 1997.
Kathryn S. McKinley. Automatic and Interactive Parallelization. PhD thesis, Department of Computer Science, Rice University, 1992.
OpenMP Standard for Shared-memory parallel directives. World Wide Web document, http://www.openmp.org.
PIPS Team. PIPS (Interporcedural Parallelizer for Scientific Programs). World Wide Web document, http://www.cri.ensmp.fr/~pips/index.html.
William Pugh. Release 1.10 of Petit. World Wide Web document, http://www.cs.umd.edu/projects/omega/.
Stanford Compiler Group. The SUIF Complier System. World Wide Web document, http://suif.stanford.edu/suif/suif.html.
The Polaris Group. Polaris Project Home Page. World Wide Web document, http://polaris.cs.uiuc.edu/polaris/polaris.html.
Doran K. Wilde. A library for doing polyhedral operations. Master's thesis, Oregon State University, Corvallis, Oregon, Dec 1993. Also published in IRISA technical report PI 785, Rennes, France; Dec, 1993.
Michael E. Wolf, and Monica S. Lam A loop transformation theory and an algorithm to maximize parallelism. IEEE Trans. Parallel Distributed Systems, 2(4):452–471, October 1991.
Michael Wolfe. High Performance Compilers, for Parallel Computing. Addison-Wesley, 1996.
Roland Wunderling and Malte Zöckler. A documentation system for C/C++ and Java. World Wide Web document, http://www.zib.de/Visual/software/doc++/index.html.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1999 Springer-Verlag
About this paper
Cite this paper
Silber, GA., Darte, A. (1999). The Nestor library: A tool for implementing fortran source to source transfromations. In: Sloot, P., Bubak, M., Hoekstra, A., Hertzberger, B. (eds) High-Performance Computing and Networking. HPCN-Europe 1999. Lecture Notes in Computer Science, vol 1593. Springer, Berlin, Heidelberg . https://doi.org/10.1007/BFb0100626
Download citation
DOI: https://doi.org/10.1007/BFb0100626
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-65821-4
Online ISBN: 978-3-540-48933-7
eBook Packages: Springer Book Archive