A compile-time meta-level architecture supporting class specific optimization
The MPC++ Version 2 meta-level architecture is proposed. The architecture makes it possible to incorporate new optimizers into a compiler. A library designer can provide an optimizer specific to his class/template library in the library header file. A library user may use such a high-performance library by including the header file. A meta-level programming library, called DMSF, is designed to facilitate programming optimizers. As an example, a distributed array class in a parallel environment is introduced and its optimization program is presented. The optimizer is simple to describe, and it is effective. Evaluation using the CG kernel of NAS Parallel Benchmark shows that the program optimized by the meta-level optimizer runs almost as fast as the equivalent C program.
Unable to display preview. Download preview PDF.
- 1.P. Beckman, D. Gannon and E. Johnson. Portable Parallel Programming in HPC++. This article is obtained via http://www.extreme.indiana.edu/hpc++.Google Scholar
- 2.F. Bodin, P. Beckman, D. Gannon, J. Golwals, S. Narayana, S. Srinivas and B. Winnicka. Sage++: An Object Oriented Toolkit and Class Library for Building Fortran and C++ Restructuring Tools. In Proceedings of OONSKI'94, 1994.Google Scholar
- 3.K. M. Chandy and C. Kesselman. CC++: A Declarative Concurrent Object-Oriented Programming Notation. In Research Directions in Concurrent Object Oriented Programming. MIT press, 1993.Google Scholar
- 4.S. Chiba. A Study of a Compile-time Metaobject Protocol. PhD thesis, Graduate School of Science, The University of Tokyo, Japan, 1996.Google Scholar
- 5.A. Chien, U. Reddy, J. Plevyak and J. Dolby. ICC++ — A C++ Dialect for High Performance Parallel Computing. In Object Technologies for Advanced Software, vol. 1049 of LNCS, pp. 76–95. Springer-Verlag, 1996.Google Scholar
- 6.S. J. Fink, S. B. Baden and S. R. Kohn. Flexible Communication Mechanisms for Dynamic Structured Applications. In Proceedings of IRREGULAR'96, 1996.Google Scholar
- 7.J. Gerlach, M. Sato and Y. Ishikawa. Using the C++ Standard Template Library for High Performance Applications. IPSJ SIG Notes, 97(37), pp. 19–24, 1997.Google Scholar
- 8.Y. Ishikawa, et. al. Design and Implementation of Metalevel Architecture in C++ — MPC++ Approach —. In Proceedings of Reflection'96, pp. 141–154, 1996.Google Scholar
- 9.Y. Ishikawa, Multi Thread Template Library — MPC++ Version 2.0 Level 0 Document —. Real World Computing Partnership, TR-6012, 1996. This technical report is obtained via http://www.rwcp.or.jp/lab/pdslab/mpc++/mpc++.html.Google Scholar
- 10.W. G. O'Farrell, F. C. Eigler, S. D. Pullara and G. V. Wilson. ABC++. In Parallel Programming Using C++. MIT press, pp. 1–42, 1996.Google Scholar
- 11.J. V. W. Reynders, P. J. Hinker, J. C. Cummings, S. R. Atlas, S. Banerjee, W. F. Humphrey, S. R. Karmesin, K. Keahey, M. Srikant and M. Tholburn. POOMA. In Parallel Programming Using C++. MIT press, pp. 547–588, 1996.Google Scholar
- 12.S. X. Yang, D. Gannon, P. Beckman, J. Gotwals and N. Sundaresan. pC++. In Parallel Programming Using C++. MIT press, pp. 507–545, 1996.Google Scholar