A compositional parallel program is a program constructed by composing component programs in parallel, where the composed program inherits properties of its components. In this paper, we describe a small extension of C++ called Compositional C++ or CC++ which is an object-oriented notation that supports compositional parallel programming. CC++ integrates different paradigms of parallel programming: data-parallel, task-parallel and object-parallel paradigms; imperative and declarative programming; shared memory and messagebased programs. CC++ is designed to be transportable across a range of MIMD architectures.
Cited By
- Stroustrup B Evolving a language in and for the real world Proceedings of the third ACM SIGPLAN conference on History of programming languages, (4-1-4-59)
- Mukherjee J, Varadarajan S and Ramakrishnan N Scalable execution of legacy scientific codes Proceedings of the 6th international conference on Computational Science - Volume Part I, (46-53)
- Poggi A and Armano G (1999). A Distributed Object-Oriented Language for Heterogeneous Computer Networks, The Journal of Supercomputing, 14:2, (153-169), Online publication date: 1-Sep-1999.
- Houzet D and Fatni A (2019). Pc-based Shared Memory Architecture and Language, The Journal of Supercomputing, 12:1-2, (119-136), Online publication date: 1-Jan-1998.
- Ben Hassen S, Bal H and Jacobs C (1998). A task- and data-parallel programming language based on shared objects, ACM Transactions on Programming Languages and Systems (TOPLAS), 20:6, (1131-1170), Online publication date: 1-Nov-1998.
- Ben Hassen S and Bal H Integrating task and data parallelism using shared objects Proceedings of the 10th international conference on Supercomputing, (317-324)
- Pandey R and Browne J Support for Extensibility and Reusability in a Concurrent Object-Oriented Programming Language Proceedings of the 10th International Parallel Processing Symposium, (241-247)
- Steinman J Breathing Time Warp Proceedings of the seventh workshop on Parallel and distributed simulation, (109-118)
- Kale L and Krishnan S CHARM++ Proceedings of the eighth annual conference on Object-oriented programming systems, languages, and applications, (91-108)
- Kale L and Krishnan S (2019). CHARM++, ACM SIGPLAN Notices, 28:10, (91-108), Online publication date: 1-Oct-1993.
- Steinman J (1993). Breathing Time Warp, ACM SIGSIM Simulation Digest, 23:1, (109-118), Online publication date: 1-Jul-1993.
Recommendations
CPPvm - Parallel Programming in C++
CLUSTER '01: Proceedings of the 3rd IEEE International Conference on Cluster ComputingCPPvm is a C++ class library for message passing. It provides an easy-to-use C++ interface to the parallel virtual machine software PVM. CPPvm closes the gap between the design of object-oriented parallel programs in C++ and the underlying message ...
High performance parallel and distributed computation in compositional CC++
C++ was designed to support a wide range of programming styles. A parallel extension to C++ should support parallelism in all the different programming styles that a C++ program might exploit as well as support a broad range of parallel programming ...