Third IEEE International Conference on Cluster Computing (CLUSTER'01)
CPPvm - Parallel Programming in C++
Newport Beach, CA
October 08-October 11
ISBN: 0-7695-1116-3
CPPvm 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 passing possibilities of PVM. Although PVM can be used directly in C++ programs due to its C-functions, it does not support C++ specific features. CPPvm enlarges PVM with these features like classes, inheritance, overloaded operators, exception handling and streams. CPPvm also hides some details of PVM from the user and thus makes it even easier to write parallel programs.The paper describes the concepts of CPPvm. Examples explain how to apply two main message passing methods: the transfer of C++ objects between processes and the use of distributed C++ objects. An extension of CPPvm enables user defined classes. This simplifies, for example, the transformation of existing C++ programs into parallel programs running on a computer cluster.