Results 1 -
5 of
5
Implementing a Parallel C++ Runtime System for Scalable Parallel Systems
- In Proceedings of Supercomputing '93
, 1993
"... pC++ is a language extension to C++ designed to allow programmers to compose "concurrent aggregate" collection classes which can be aligned and distributed over the memory hierarchy of a parallel machine in a manner modeled on the High Performance Fortran Forum (HPFF) directives for Fortran 90. pC++ ..."
Abstract
-
Cited by 48 (9 self)
- Add to MetaCart
pC++ is a language extension to C++ designed to allow programmers to compose "concurrent aggregate" collection classes which can be aligned and distributed over the memory hierarchy of a parallel machine in a manner modeled on the High Performance Fortran Forum (HPFF) directives for Fortran 90. pC++ allows the user to write portable and efficient code which will run on a wide range of scalable parallel computer systems. The first version of the compiler is a preprocessor which generates Single Program Multiple Data (SPMD) C++ code. Currently, it runs on the Thinking Machines CM-5, the Intel Paragon, the BBN TC2000, the Kendall Square Research KSR-1, and the Sequent Symmetry. In this paper we describe the implementation of the runtime system, which provides the concurrency and communication primitives between objects in a distributed collection. To illustrate the behavior of the runtime system we include a description and performance results on four benchmark programs. 1 Introduction ...
TAU: A Portable Parallel Program Analysis Environment for pC++
, 1994
"... The realization of parallel language systems that offer high-level programming paradigms to reduce the complexity of application development, scalable runtime mechanisms to support variable size problem sets, and portable compiler platforms to provide access to multiple parallel architectures, place ..."
Abstract
-
Cited by 37 (7 self)
- Add to MetaCart
The realization of parallel language systems that offer high-level programming paradigms to reduce the complexity of application development, scalable runtime mechanisms to support variable size problem sets, and portable compiler platforms to provide access to multiple parallel architectures, places additional demands on the tools for program development and analysis. The need for integration of these tools into a comprehensive programming environment is even more pronounced and will require more sophisticated use of the language system technology (i.e., compiler and runtime system). Furthermore, the environment requirements of high-level support for the programmer, large-scale applications, and portable access to diverse machines also apply to the program analysis tools. In this paper, we discuss ø (TAU, Tuning and Analysis Utilities), a first prototype for an integrated and portable program analysis environment for pC++ , a parallel object-oriented language system. ø is integrated w...
Performance Analysis of pC++: A Portable Data-Parallel Programming System for Scalable Parallel Computers
- Proc. 8th Int. Parallel Processing Symb. (IPPS), Canc'un, Mexico, IEEE Computer
, 1994
"... pC++ is a language extension to C++ designed to allow programmers to compose distributed data structures with parallel execution semantics. These data structures are organized as "concurrent aggregate" collection classes which can be aligned and distributed over the memory hierarchy of a parallel ma ..."
Abstract
-
Cited by 19 (4 self)
- Add to MetaCart
pC++ is a language extension to C++ designed to allow programmers to compose distributed data structures with parallel execution semantics. These data structures are organized as "concurrent aggregate" collection classes which can be aligned and distributed over the memory hierarchy of a parallel machine in a manner consistent with the High Performance Fortran Forum (HPF) directives for Fortran 90. pC++ allows the user to write portable and efficient code which will run on a wide range of scalable parallel computers. In this paper, we discuss the performance analysis of the pC++ programming system. We describe the performance tools developed and include scalability measurements for four benchmark programs: a "nearest neighbor" grid computation, a fast Poisson solver, and the "Embar" and "Sparse" codes from the NAS suite. In addition to speedup numbers, we present a detailed analysis highlighting performance issues at the language, runtime system, and target system levels. 1 Introducti...
Directions in Parallel Programming: HPF, Shared Virtual Memory and Object Parallelism in pC++
, 1994
"... Fortran and C++ are the dominant programming languages used in scientific computation. C,onsequently, extensions to these languages are the most popular for programming massively parallel computers. We discuss two such approaches to parallel Fortran and one approach to C++. The High Performance Fort ..."
Abstract
-
Cited by 5 (0 self)
- Add to MetaCart
Fortran and C++ are the dominant programming languages used in scientific computation. C,onsequently, extensions to these languages are the most popular for programming massively parallel computers. We discuss two such approaches to parallel Fortran and one approach to C++. The High Performance Fortran Forum has designed HPF with the intent of supporting data parallelism on Fortran 90 applications. HPF works by asking the user to help the compiler distribute and align the data structures with the distributed memory modules in the system. Fortran-S takes a different approach in which the data distribution is managed by the operating system and the user provides annotations to indicate parallel control regions. In the case of C++, we look at pC++ which is based on a concurrent aggregate parallel model.
An Overview of OCore: A Massively Parallel Object-based Language
- Tsukuba Research Center, Real World
, 1993
"... In this paper we propose a massively parallel object-based language, OCore, as a research vehicle for massively parallel computation models. In addition to the fundamentals of existing parallel object-oriented languages, OCore introduces the notion of community , a structured set of objects that ma ..."
Abstract
-
Cited by 2 (1 self)
- Add to MetaCart
In this paper we propose a massively parallel object-based language, OCore, as a research vehicle for massively parallel computation models. In addition to the fundamentals of existing parallel object-oriented languages, OCore introduces the notion of community , a structured set of objects that makes the distributed processing of messages possible together with their efficient implementation. OCore is statically typed and allows the careful management of references. It has a meta-level architecture that handles events and exceptions for tuning and debugging programs. These features help programmers to write flexible and efficient parallel programs. 1 Introduction It is often difficult to make full use of massively parallel machines. This is partly because existing programming languages offer insufficient descriptive power for massively parallel computations. In this paper we propose a massively parallel object-based language, OCore, as a research vehicle for massively parallel co...

