Abstract
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.
Preview
Unable to display preview. Download preview PDF.
References
P. Beckman, D. Gannon and E. Johnson. Portable Parallel Programming in HPC++. This article is obtained via http://www.extreme.indiana.edu/hpc++.
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.
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.
S. Chiba. A Study of a Compile-time Metaobject Protocol. PhD thesis, Graduate School of Science, The University of Tokyo, Japan, 1996.
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.
S. J. Fink, S. B. Baden and S. R. Kohn. Flexible Communication Mechanisms for Dynamic Structured Applications. In Proceedings of IRREGULAR'96, 1996.
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.
Y. Ishikawa, et. al. Design and Implementation of Metalevel Architecture in C++ — MPC++ Approach —. In Proceedings of Reflection'96, pp. 141–154, 1996.
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.
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.
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.
S. X. Yang, D. Gannon, P. Beckman, J. Gotwals and N. Sundaresan. pC++. In Parallel Programming Using C++. MIT press, pp. 507–545, 1996.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1997 Springer-Verlag
About this paper
Cite this paper
Takahashi, T., Ishikawa, Y., Sato, M., Yonezawa, A. (1997). A compile-time meta-level architecture supporting class specific optimization. In: Ishikawa, Y., Oldehoeft, R.R., Reynders, J.V.W., Tholburn, M. (eds) Scientific Computing in Object-Oriented Parallel Environments. ISCOPE 1997. Lecture Notes in Computer Science, vol 1343. Springer, Berlin, Heidelberg . https://doi.org/10.1007/3-540-63827-X_48
Download citation
DOI: https://doi.org/10.1007/3-540-63827-X_48
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-63827-8
Online ISBN: 978-3-540-69656-8
eBook Packages: Springer Book Archive