Skip to Main Content U.S. Department of Energy
PNNL: High Performance Computing

TCGMSG Message Passing Library

TCGMSG is a toolkit for writing portable parallel programs using a message passing model. Supported are a variety of common UNIX workstations, mini-super and super computers and heterogenous networks of the same, along with true parallel computers such as the Cray T3D/E, IBM SP, Intel Paragon, the Kendall Square Research KSR-2, and several others. Applications port between all of these environments without modification to the parallel constructs.


Strong typing is enforced. The type associated with a message when sent must match the type specified on the corresponding receive. No wildcard types are permitted.

Processes are connected with ordered, synchronous channels. On machines that explicitly support it explicitly asynchronous communication is supported. Otherwise it should be thought that:

  • sends block until the message is explicitly received
  • messages from a particular process can only be received in the order sent.

As far as buffering provided by the transport layer permits, messages are actually sent without any synchronization between the sender and receiver. However, since the amount of buffering varies greatly from one mechanism to another you should not explicitly use this fact.

Programming Interface

The documentation is provided with the package and is also available here.

Site Links

Our Research

Past Research

Global Arrays Links

News and Events